Recursive array_search

后端 未结 4 1106
终归单人心
终归单人心 2020-12-06 02:40

I have a multi-dimensional array:

$categories = array(
    array(
        \'CategoryID\' => 14308,
        \'CategoryLevel\' => 1,
        \'CategoryNa         


        
4条回答
  •  旧巷少年郎
    2020-12-06 03:26

    function array_search_recursive( $search, $values = array(), $i = 0) {
        $match = false;
        var_dump($i, $search);
        $i++;
        foreach ( $values as $keyState => $val ) {
            var_dump($val == $search, 'expression');
            if ( $val == $search ) {
                return $keyState;
            }
            if ( is_array( $val ) ) {
                $match = array_search_recursive($search, $val, $i);
            }
            if ( $match !== false ) {
                return $keyState;
            }
        }
    
        return false;
    }
    
    echo array_search_recursive($search, $canada)
    

    Edit:

    This will return the first key, tested for $canada = array( 'Brazilia' => 'test1', "Alberta" => [ "Airdrie", "Brooks", "Camrose" ], "British Columbia" => [ "Abbotsford" => [ 'a', 'b', 'c' ], "Armstrong", "Castlegar" ], "Manitoba" => [ "Brandon", "Selkirk" ], 'Olanda' => 'test2' ); $search = "Selkirk";

提交回复
热议问题