Интересное расширение serhatozles/yii2-arraysearch. Оно реализует поиск по массиву значений.
Установка расширения
Установка проста. Выполняем команду:
php composer.phar require --prefer-dist serhatozles/yii2-arraysearch "dev-master"
или добавляем строку:
"serhatozles/yii2-arraysearch": "dev-master"
в раздел require файла composer.json.
Пример использования
$query = "a='Example World' and b>='2'";
$Array = array(
'a' => array('d' => '2'),
array('a' => 'Example World','b' => '2'),
array('c' => '3'),
array('d' => '4'),
);
$Result = \serhatozles\arraysearch\ArraySearch::q($Array,$query,1);
echo '<pre>';
print_r($Result);
echo '</pre>';
// Вывод:
//Array
//(
//[0] => Array
//(
// [a] => Example World
// [b] => 2
// )
//
// )