PHP数组去重后返回数组包对象给前端

  /**
     * @return array
     * 1、数组去重返回给前端(foreach循环)
     * 优点:可判断多个去重条件
     */
    public function admin()
    {
        $arr = array(
            ['id' => 1, 'name' => 'PHP'],
            ['id' => 5, 'name' => 'JAVA'],
            ['id' => 2, 'name' => 'PYTHON'],
            ['id' => 4, 'name' => 'VUE'],
            ['id' => 1, 'name' => 'PHP']
        );

        foreach ($arr as $key => $val) {
            foreach ($arr as $k => $v) {
                if ($key != $k && $val['name'] == $v['name'] && $val['id'] == $v['id']) unset($arr[$key]);
            }
        }
        return array_merge([], $arr);
    }

    /**
     * @return array
     * 2、数组去重返回给前端(PHP函数)
     * 缺点:去重条件只能一个
     */
    public function admin2()
    {

        $arr = array(
            ['id' => 1, 'name' => 'PHP'],
            ['id' => 5, 'name' => 'JAVA'],
            ['id' => 2, 'name' => 'PYTHON'],
            ['id' => 4, 'name' => 'VUE'],
            ['id' => 1, 'name' => 'PHP']
        );

        /**
         * @param1  数组
         * @param2  null
         * @param3  去重的字段
         */
        $data = array_column($arr,null,'name');

        //array_values 返回数组的所有值(非键名)
        return array_values($data);
    }

 

 

posted @ 2021-08-08 22:03  满眼都是她  阅读(359)  评论(0编辑  收藏  举报