0

我的数组如下所示:

$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,那么它应该返回1FALSE否则。

有这样的PHP函数吗?

4

3 回答 3

2

我认为您正在寻找 array_walk() 和/或 array_walk_recursive()。

于 2012-11-28T06:50:31.630 回答
1

简单的馅饼...我想您可以自己弄清楚...

function searchInMyArr($myarray, $search_term){
    $position = false;
    foreach ($myarray as $key => $subarray){
        if (in_array($search_term,$subarray){
            $position = $key;
            break;
        }
    }

    return $position;
}
于 2012-11-28T06:48:49.557 回答
0

不,您的案例太具体,不太可能被其他人使用,因此它不在 PHP 本身中。

这是一个可能的解决方案

function search_array_multilevel($needle, $haystack) 
{
    foreach ($haystack as $index => $subarray) {
        if (in_array($needle, $subarray)) {
            return $index;
        }
    }
    return false;
 }
于 2012-11-28T06:52:21.497 回答