2015-11-05 185 views
0

如何讓兒童數組的索引數組看起來像這樣PHP search_array:多維數組

Array 
(
    [1000] => Array 
     (
      [firstName] => Ori 
      [lastName] => Smith 
      [children] => Array 
       (
        [0] => 1001 
        [1] => 1002 
        [2] => 1003 
        [3] => 1004 
        [4] => 1005 
        [5] => 1006 
        [6] => 1007 
        [7] => 1008 
        [8] => 1009 
        [9] => 1010 
       ) 
     ) 
) 

所以如果我給1009的搜索,它應該返回1000

array_search($childrenId, array_column(myArray, 'children')); 
+0

我可以告訴你爲什麼不工作。在你的例子中array_column會給你一個數組內的數組,所以你的array_search甚至不會找到你正在查找的子ID。另外,即使你找到了正確的children數組,我認爲array_column會返回一個從零開始的數組 – georaldc

回答

0

您可以使用此功能找到here

它不與此代碼工作

我想你可以通過key(getParentStack(1009, $myarr))獲得密鑰或修改函數。

0

試試這個

$result = array(
    '1000'=>array('children'=>array('1001','1002')), 
    '2000'=>array('children'=>array('2001','2002')) 
); 
$searchValue = 2001; 
$keyName = ''; 

foreach ($result as $key => $row) { 
    foreach ($row['children'] as $child) { 
     if ($child == $searchValue) { 
      $keyName = $key; 
      break; 
     } 
    } 
} 

echo $keyName;