php自定义函数之二维数组去重&分组

二维数组去重

function assoc_unique($arr, $key) {
            $tmp_arr = array();
            foreach ($arr as $k => $v) {
                if (in_array($v[$key], $tmp_arr)) {//搜索$v[$key]是否在$tmp_arr数组中存在,若存在返回true
                    unset($arr[$k]);
                } else {
                    $tmp_arr[] = $v[$key];
                }
            }
            sort($arr); //sort函数对数组进行排序
            return $arr;
        }
二维数组分组
function array_group_by($arr, $key){
            $grouped = array();
            foreach ($arr as $value) {
                $grouped[$value[$key]][] = $value;
            }
            if (func_num_args() > 2) {
                $args = func_get_args();
                foreach ($grouped as $key => $value) {
                    $parms = array_merge($value, array_slice($args, 2, func_num_args()));
                    $grouped[$key] = call_user_func_array(‘array_group_by’, $parms);
                }
            }
            return $grouped;
        }

Add a Comment