我的数组如下所示:
$myarr = array(
1 => array(2, 4, 6, 7, 10, 11),
2 => array(95, 5, 8, 15, 21)
);
是否可以通过数组搜索例如。对于8
然后返回值所在的键号?
例如。95
是钥匙号码里面。2
,那么如果它确实找到了95
它应该返回2
-FALSE
否则。另一个例子:11
在密钥号里面找到了。1
,那么它应该返回1
,FALSE
否则。
有这样的PHP函数吗?
我认为您正在寻找 array_walk() 和/或 array_walk_recursive()。
简单的馅饼...我想您可以自己弄清楚...
function searchInMyArr($myarray, $search_term){
$position = false;
foreach ($myarray as $key => $subarray){
if (in_array($search_term,$subarray){
$position = $key;
break;
}
}
return $position;
}
不,您的案例太具体,不太可能被其他人使用,因此它不在 PHP 本身中。
这是一个可能的解决方案
function search_array_multilevel($needle, $haystack)
{
foreach ($haystack as $index => $subarray) {
if (in_array($needle, $subarray)) {
return $index;
}
}
return false;
}