• 中山php|最優網絡中山做網站 中山php建站

    最優良人

    2012/12/17 at 20:48

    php多維數組的搜索

    1 php搜索多維數組的鍵值

    如下面例子:

    $foo[1]['a']['xx'] = 'bar 1';
    $foo[1]['b']['xx'] = 'bar 2';
    $foo[2]['a']['bb'] = 'bar 3';
    $foo[2]['a']['yy'] = 'bar 4';
    $foo[3]['c']['dd'] = 'bar 3';
    $foo[3]['f']['gg'] = 'bar 3';
    $foo['info'][1] = 'bar 5';

    如果要查找 bar 3 怎么進行查找呢。有三個結果,而這三個結果都要,看下面的函數:
    -------------------------------------------------------------------------------------------------------------------------------
    function array_search_re($needle, $haystack, $a=0, $nodes_temp=array()){
    global $nodes_found;
    $a++;
    foreach ($haystack as $key1=>$value1) {
    ??? $nodes_temp[$a] = $key1;
    ??? if (is_array($value1)){???
    ????? array_search_re($needle, $value1, $a, $nodes_temp);
    ??? }
    ??? else if ($value1 === $needle){
    ????? $nodes_found[] = $nodes_temp;
    ??? }
    }
    return $nodes_found;
    }
    ---------------------------------------------------------------------------------------------------------------------------------
    這個函數就可以把上面要查找到的內容全部返回出鍵名來
    $result = array_search_re('bar 3', $foo);

    print_r($result);

    輸出結果為如下:
    Array ( [0] => Array ( [1] => 2 [2] => a [3] => bb )
    ?????? ?? [1] => Array ( [1] => 3 [2] => c [3] => dd )
    ?????? ?? [2] => Array ( [1] => 3 [2] => f [3] => gg )
    ???? ?? )

    1 php搜索多維數組的鍵名

    function array_search_key($needle, $haystack){
    global $nodes_found;

    foreach ($haystack as $key1=>$value1) {
    ?
    ?if ($key1=== $needle){
    ?
    ??$nodes_found[] = $value1;
    ???????
    ?? }
    ??? if (is_array($value1)){???
    ????? array_search_key($needle, $value1);
    ??? }
    ???
    ???
    }

    return $nodes_found;
    }
    $result = array_search_key('a', $foo);

    print_r($result);

    輸出結果為如下:
    ?

    Array
    (
    ??? [0] => Array
    ??????? (
    ??????????? [xx] => bar 1
    ??????? )

    ??? [1] => Array
    ??????? (
    ??????????? [bb] => bar 3
    ??????? )

    ??? [2] => Array
    ??????? (
    ??????????? [yy] => bar 4
    ??????? )

    )

    標簽:,
    -
    美女被操视频网站,免费在线美女视频,一本一道久久综合久久,国产精品理人伦一区二区,一级AA片农村少妇寡妇片