Поиск многомерного массива, который содержит обе иглы, используя php - PullRequest
0 голосов
/ 13 ноября 2018

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

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

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

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

1 Ответ

0 голосов
/ 13 ноября 2018

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

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

Результат проверки в демо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...