Проверить наличия элемента в массиве с обрезанием текста
Подскажите пожалуйста каким образом можно проверить массив.
Идея в том чтобы проверить массив на команды, и если команда найдена то следовательно далее пройти по коду, если не найдено то exit();
Ко мне по этому поводу приходит только 1 идея:
<?php
$text = 'Команда1 параметры';
$commands = array(
'Команда1' => array(...),
'Команда2' => array(...)
);
foreach($commands as $cmd => $args)
{
if(mb_substr($text, 0, mb_strlen($cmd)) == $cmd)
{
...
}
}
?>
Но такой вариант слишком долгий, да и не самый Хороший. Вопрос: можно ли проверить в массиве существует ли команда, и обрезать ее по тексту который присылает пользователь? ( лучше 1 строку, просто не могу найти в интернете как можно и обрезать и найти в 1 строку. )
Просто без mb_substr не получается проверит потому что php проверяет ещё и на кол-во букв ( strlen ).
Почему я не использую explode, все просто: команда может состоять из 2 и более слов.