2017-05-26 53 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