asticsearch — Поиск многомерного массива, который содержит обе иглы, используя переполнение стека

Мне нужно искать в массиве, возвращая все элементы, которые содержат оба значения, которые я ищу, как здесь:

$arr = array(
0 => array(
'name' => 'Joel first',
'title' => 'teacher',
),
1 => array(
'name' => 'Joel second',
'title' => 'teacher',
),
2 => array(
'name' => 'Jhon first',
'title' => 'teacher',
)
);

Я хочу найти все элементы, содержащие имя, например Joel И название как учитель, похож на поиск MySQL, как:

SELECT * FROM table WHERE name like 'Joel%' AND title = 'teacher'

-1

Решение

Вам нужно использовать array_filter() для фильтрации элементов массива.

$newArr = array_filter($arr, function($val){
return substr($val['name'], 0, 4) == 'Joel' && $val['title'] == 'teacher';
});

Проверить результат в демонстрация

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector