Php 多维数组中的简单搜索

Php 多维数组中的简单搜索,php,Php,我有一个具有以下值的数组 - 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([par

我有一个具有以下值的数组

 - 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\u search()
是否正确。目前可能的尝试失败。

您可以使用自定义回调

$lookup_id = 3;
$results = array_filter($your_array, function($arr) use ($lookup_id) {

return $your_array['parent_id'] == $lookup_id;

});
这段代码需要>=PHP5.3,如果您有较旧的版本,则必须使用实际定义的函数(普通php函数)或使用
create\u函数实现回调
<?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);
?>

也许您可以与我们分享您的尝试?您是只想搜索父id还是它是一个给定的字段?如果您试图构建树结构,可能已经有问题了。谢谢您的提示。。。我正在搜索这个