我想要搜索2維數組,但我只想在第二維中的特定字段中進行搜索。如果找到了,我想返回密鑰。沒有必要從那裏繼續,我只需要第一次出現,但我不介意讓所有的出現。PHP:在二維數組中搜索,但僅查找特定鍵
的陣列可能是這樣的:
$array = [
0 => ['value' => 'x', 'foo' => 'bar'],
1 => ['value' => 'y', 'foo' => 'bar'],
2 => ['value' => 'z', 'foo' => 'x'],
];
現在我首先想到的是這樣的:
function myCustomArraySearch($array, $searchkey, $searchvalue) {
foreach ($array as $key => $value) {
if ($value[$searchkey] == $searchvalue) {
return $key;
}
}
return false;
}
echo myCustomArraySearch($array, 'value', 'x');
我敢肯定,還有一個更elegnt解決方案。有任何想法嗎?
嘗試'array_walk_recursive'內置PHP函數的http:// php.net/manual/ro/function.array-walk-recursive.php –