2017-05-26 51 views
-2
$needle = 'foo'; 

$haystack = [ 
    'bar' => [ 'foo' ], 
    'baz' => [ 'qux' ] 
]; 

// if 'foo' in of the arrays of $haystack, return its key 
// in this case its 'bar' 

array_search似乎在簡單數組上工作。我的情況需要什麼?array_search不適用於嵌套數組

+0

你需要一個簡單的'有一個可選的'foreach' break' –

+0

檢查這個我的回答(從PHP文檔拍攝),它涉及重複的問題:https://stackoverflow.com/a/44205388/6726261 –

回答

2

希望這簡單的一個將有助於

Try this code snippet here

foreach($haystack as $key => $array) 
{ 
    if(in_array($needle, $array)) 
    { 
     break; 
    } 
} 
echo $key; 
+0

真的優雅,但似乎並沒有,如果數組有多個值工作。例如,'[「富」,「AOE」,「QWE」]' – 3zzy

+0

@ 3zzy更新我的帖子,你能再次檢查 –

+0

你'$ key'是外循環,是一個錯字? – 3zzy