我有一个包含以下值的数组
- Array ( [id] => 3 [parent_id] => 2 [name] => Fitness )
- Array ( [id] => 4 [parent_id] => 3 [name] => Why do it)
- Array ( [id] => 5 [parent_id] => 3 [name] => Nutrition)
我想按照
的方式查询array_search([parent_id]='3', $array)
并返回匹配元素列表。 (在这种情况下,它将是id的4& 5)。我不确定array_search()
是否是正确的方法。可能尝试失败了。
答案 0 :(得分:0)
您可以将array_filter与自定义回调
一起使用$lookup_id = 3;
$results = array_filter($your_array, function($arr) use ($lookup_id) {
return $your_array['parent_id'] == $lookup_id;
});
此代码要求我相信> = PHP5.3,如果您有旧版本,则必须使用实际定义的函数(普通的php函数)或使用create_function
来实现回调
答案 1 :(得分:0)
<?php
function mySearchArr($key, $value, $myBigArr) {
$searchArr = array();
foreach($myBigArr as $smallArr)
if($smallArr[$key] == $value)
$searchArr[] = $smallArr;
return $searchArr
}
$matches = mySearchArr('parent_id', 3, $array);
?>