Мне нужно искать в массиве, возвращая все элементы, которые содержат оба значения, которые я ищу, как здесь:
$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'
Вам нужно использовать array_filter()
для фильтрации элементов массива.
$newArr = array_filter($arr, function($val){
return substr($val['name'], 0, 4) == 'Joel' && $val['title'] == 'teacher';
});
Проверить результат в демонстрация
Других решений пока нет …