精华内容
下载资源
问答
  • php二维数组去重

    2019-10-01 14:26:41
    php二维数组去重 前言:php一维数组去重很简单,直接array_unique($arr)即可,但是二维数组去重就得自己去写了 二维数组去重方法: /* * 二维数组去重 * 注意:二维数组中的元素个数必须一致,且键值也得一致,...

    php二维数组去重


    前言:php一维数组去重很简单,直接array_unique($arr)即可,但是二维数组去重就得自己去写了

    二维数组去重方法:

    /*
     * 二维数组去重
     * 注意:二维数组中的元素个数必须一致,且键值也得一致,否则无意义
     * @param array $arr
     * @return array $arr_after
     */
    public function array_unique_2DArr($arr=array()){
        if(empty($arr) || !is_array($arr)){
            return array();
        }
        /*******处理二维数组个数不一致问题  start 其他项目用可以去掉*******/
        //判断数组中二维数组是否包含uniqueId,存在的话需要处理其他的日志信息,全部加上uniqueId,且uniqueId值必须相同
        $hasUniqueId = false;
        foreach($arr as $val){
            if(array_key_exists('uniqueId', $val)){
                $hasUniqueId = true;
                break;
            }
        }
        //如果$arr中的二维数组中uniqueId存在,则其他也增加
        if($hasUniqueId){
            foreach($arr as $_k=>$_val){
                if(!array_key_exists('uniqueId', $_val)){
                    //在$_val中增加unique,只是为了和其他的带有uniqueId键值的数组元素个数保持一致       
                    $_val_keys = array_keys($_val);
                    $_val_vals = array_values($_val);
                    array_unshift($_val_keys, 'uniqueId');
                    array_unshift($_val_vals, '0_0');
                    $arr[$_k] = array_combine($_val_keys, $_val_vals);
                }
            }
        }
        /********处理二维数组个数不一致问题  end********/
        foreach($arr[0] as $k => $v){  
            $arr_inner_key[]= $k;   //先把二维数组中的内层数组的键值记录在在一维数组中  
        }
        foreach ($arr as $k => $v){  
            $v =join("^",$v);   //降维 用implode()也行 ,注意,拆分时不能用逗号,用其他的不常用符号,逗号可能会由于数据本身含有逗号导致失败
            $temp[$k] =$v;      //保留原来的键值  
        }
        $temp =array_unique($temp);    //去重:去掉重复的字符串
        foreach ($temp as $k => $v){  
            $a = explode("^",$v);   //拆分后的重组 
            $arr_after[$k]= array_combine($arr_inner_key,$a);  //将原来的键与值重新合并  
        }
        return $arr_after;  
    }

    转载于:https://www.cnblogs.com/alisleepy/p/9982318.html

    展开全文
  • PHP二维数组去重

    2020-02-28 11:56:59
    * 二维数组去重 * * @param $array 需要去重的二维数组 * @param $key 作为判断依据的key * @return array */ static public function array_unset_repeat($array, $key){ $res = [];...
        /**
         * 二维数组去重
         *
         * @param $array 需要去重的二维数组
         * @param $key 作为判断依据的key
         * @return array
         */
        static public  function array_unset_repeat($array, $key){
            $res = [];
            if($array && $key) {
                foreach ($array as $value) {
                    //查看有没有重复项
                    if(isset($res[$value[$key]])){
                        //有就销毁
                        unset($value[$key]);
                    } else {
                        $res[$value[$key]] = $value;
                    }
                }
            }
            return $res;
        }

     

    展开全文
  • php 二维数组去重

    2018-07-24 11:59:00
    //二维数组去重 $info = $this->remove_duplicate($info); /* * 二维数组去重 */ public function remove_duplicate($array){ $result=array(); foreach ($array as $key => $value) { ...
    //二维数组去重
    $info = $this->remove_duplicate($info);
    
    
        /*
    	 * 二维数组去重
    	 */
        public function remove_duplicate($array){
            $result=array();
            foreach ($array as $key => $value) {
                $has = false;
                foreach($result as $val){
                if($val['id']==$value['id']){//当数组中两条数据的id相同时,改变$hsa的值
                    $has = true;
                    break;
                }
            }
            if(!$has)
                $result[]=$value;
            }
            return $result;
        }

     

    展开全文
  • 主要介绍了PHP二维数组去重的方法,结合实例形式分析了php数组遍历、判断及去除重复项的相关操作技巧,需要的朋友可以参考下
  • PHP 二维数组去重

    2019-06-19 17:00:06
    * 二维数组去重 * @param $array 要去重的数组 * @param $field 要去重的key * @return array 去重后的结果 */ function remove_duplicate($array , $field) { if (empty($array)) return $...
    /**
         * 二维数组去重
         * @param $array 要去重的数组
         * @param $field 要去重的key
         * @return array 去重后的结果
         */
        function remove_duplicate($array , $field)
        {
            if (empty($array)) return $array;
            $result = array();
            foreach ($array as $key => $value) {
                $has = false;
                foreach ($result as $val) {
                    if ($val[$field] == $value[$field]) {
                        $has = true;
                        break;
                    }
                }
                if (!$has)
                    $result[] = $value;
            }
            return $result;
        }

    调用示例:

    展开全文
  • PHP二维数组去重算法

    2020-10-20 20:25:34
    本文给大家分享的代码是php实现的二维数组根据键值合并并去重复的算法,非常实用,有需要的小伙伴可以参考下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,317
精华内容 526
关键字:

php二维数组去重