我需要搜索一个数组,返回包含我正在搜索的两个值的所有元素,像这样:
$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'
答案 0 :(得分:2)
您需要使用array_filter()
来过滤数组项。
$newArr = array_filter($arr, function($val){
return substr($val['name'], 0, 4) == 'Joel' && $val['title'] == 'teacher';
});
在demo中查看结果