0

我想在二维数组中搜索。所以创建这个函数:

function array_search_2d($needle, $haystack){
    foreach($haystack as $k => $h){ 
        $key = array_search($needle, $h);
        if($key !== false){
            return array($k, $key);
        }
    }
    return false;
}

但它会导致无限循环。和网络服务器停机...

我的错在哪里?我审查了很多,但找不到错误。

4

1 回答 1

1

它看起来不错,我测试了它:

<?PHP

function array_search_2d($needle, $haystack){
    foreach($haystack as $k => $h){ 
        $key = array_search($needle, $h);
        if($key !== false){
            return array($k, $key);
        }
    }
    return false;
}


print_r(array_search_2d(
    'foo',  
    array(
        array(
            'muh',
            'buh',
            'too',
            'brr',
        ),
        array(
            'grr',
            'foo',
            'fuu',
            'brr',
        ),
        array(
            'lop',
            'uio',
            'rvv',
            'dvv',
        ),
    )   
));

输出是:

Array ( 
  [0] => 1 
  [1] => 1 
)

您的问题接缝在其他地方。

请提供您的完整问题代码。

于 2013-01-22T16:01:53.777 回答