使用php搜索包含两个针的多维数组

时间:2018-11-13 12:31:20

标签: php elasticsearch search multidimensional-array

我需要搜索一个数组,返回包含我正在搜索的两个值的所有元素,像这样:

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

我想搜索所有包含 Joel 之类的名称和 teacher 之类的标题的元素,类似于mysql搜索之类的

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

1 个答案:

答案 0 :(得分:2)

您需要使用array_filter()来过滤数组项。

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

demo中查看结果