获取多维数组所有值

/*获取数组的所有值*/
function arrayValues($arr,$res = array()){
    $values = array_values($arr);
    $arr = array();
    foreach($values as $item){
        if(is_array($item)){
            $arr = array_merge($item,$arr);
        }else{
            array_push($res, $item);
        }
    }
    if($arr){
        return arrayValues($arr,$res);
    }else{
        return array_values(array_unique($res));
    }
}

/*指向性类型 获取所有值*/
function arrayTargetValues($origin,$target,$children,$res = array()){
    $arr = array();
    foreach($origin as $item){
        if(isset($item[$children])){
            $arr = array_merge($item[$children],$arr);
        }
        $item[$target] && array_push($res, $item[$target]);
    }
    if($arr){
        return arrayTargetValues($arr,$target,$children,$res);
    }else{
        return array_values(array_unique($res));
    }
}

 

posted @ 2016-08-02 14:53  鱼尾纹  阅读(477)  评论(0编辑  收藏  举报