数组重组,值做键,简化数组

class test{
    /**
     * @param $arr 需要简化的数组
     * @param string $pre 作为键值的键名
     * @param string $latter 作为值的键名
     * @return mixed 返回数组
     */
    public function  reMakeArr($arr,$pre='',$latter='')
    {
        if(!is_array($arr)) return 'check your array';
        if(!$pre) return 'missing first parameter';
        $this->pre = $pre;
        $this->latter =$latter;
        return array_reduce($arr,function(&$newArray,$v){
            if($this->latter){
                $newArray[$v[$this->pre]] = $v[$this->latter];
            }else{
                $newArray[$v[$this->pre]] = $v;
            }
            return $newArray;
        });
    }
}
$obj = new test();
$arr=['0'=> ["name"=> "QNY_BUCKET" ,"value"=>  "nobb" ],
    '1'=>["name"=> "QNY_DOMAIN" ,"value"=> "www.chedan.com" ]
];
$res = $obj->reMakeArr($arr,'name','value');
var_dump($res);

猜你喜欢

转载自blog.csdn.net/qq_40579897/article/details/80581849