array search

其实这是并不能算是一个search的方法,但我写这个方法是为了快速定位到数组里的key,以返回相应的值。

例如:

$arr = array(
    'a' => array(
        'b' => array(
            'c' => array(
                'd'
            )
        )
    ),
    'e' => array(
        'f' => array(
            'g' => array(
                'h'
            ),
            'i' => array(
                'j'
            )
        )
    )
);

象这样的数组,如果要取$arr['a']['b']['c']这样的值,写起来有点复杂,于是我这样写了一个函数

function search( $keys , $arr ){
    if(!is_array($arr) && !is_object($arr)){
        return ;
    }
    $keys = explode("." , $keys );
    $_err = false;
    foreach($keys as $key){
        if(isset($arr[$key])){
            $arr = $arr[$key];
        }else{
            $_err = true;
            break;
        }
    }
    if($_err == true)return ;
    return $arr;
}

这样就很好办了。。直接$e = search(“a.b.c” , $arr);
就可以返回值了