Проверить наличия элемента в массиве с обрезанием текста

Подскажите пожалуйста каким образом можно проверить массив.

Идея в том чтобы проверить массив на команды, и если команда найдена то следовательно далее пройти по коду, если не найдено то 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 и более слов.


Ответы (0 шт):