1. 程式人生 > >陣列重組,值做鍵,簡化陣列

陣列重組,值做鍵,簡化陣列

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);