2013-08-02 78 views
-1

簡單搜索我有以下值在多維數組

- 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()是否正確。五月嘗試失敗的時刻。

+2

也許你可以與我們分享你的嘗試? – christopher

+0

你只想搜索parent_id還是給定字段? – Fredd

+1

如果您正在嘗試構建樹結構,可能已經存在相關問題。 – Passerby

回答

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); 
?> 
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