zoukankan      html  css  js  c++  java
  • php 一维数组的合并和去重

    合并数组的方法

    1. array_merge:

      • 数字键,直接往后添加,key重置
      • 字符串键,后面的数组的值会替代前面的值
    2. +:

      不管键名类型为字符串或数字,当键名相同时,前面的值都会把后面的值覆盖掉

      • 数字键,后面的数组的值不会替代前面的值
      • 字符串键,后面的数组的值会替代前面的值

    合并数组并去重

    //1.单数组去重复
    array_unique($arrTest)
    //2.多数组去重复
     array_keys(array_flip($arr1)+array_flip($arr2))
    //3.多数组去重复
     array_unique(array_merge($arr1,$arr2))
    

    测试功能

    $arr1 = [1,2,3,4,5];
    $arr2 = [1,2,3,6,7];
    
    $arr3 = ['0'=>1,'1'=>2,'2'=>3,'3'=>4,'4'=>5];
    $arr4 = ['0'=>1,'1'=>2,'2'=>3,'3'=>6,'4'=>7];
    
    $arr5 = ['0'=>1,'a'=>2,'b'=>3,'c'=>4,'4'=>5];
    $arr6 = ['0'=>1,'a'=>2,'c'=>3,'d'=>6,'4'=>7];
    
    echo '普通数组测试----------------';
    dump(array_merge($arr1, $arr2));
    dump($arr1+$arr2);
    dump(array_keys(array_flip($arr1)+array_flip($arr2)));
    dump(array_unique(array_merge($arr1,$arr2)));
    echo '普通数组测试结束-----------------<br>';
    
    echo '关联数组测试,键为数字-----------';
    dump(array_merge($arr3, $arr4));
    dump($arr3+$arr4);
    dump(array_keys(array_flip($arr3)+array_flip($arr4)));
    dump(array_unique(array_merge($arr3,$arr4)));
    echo '关联数组测试,键为数字 结束-------------<br>';
    
    echo '关联数组测试,键为数字和字符串混合-----------';
    dump(array_merge($arr5, $arr6));
    dump($arr5+$arr6);
    dump(array_keys(array_flip($arr5)+array_flip($arr6)));
    dump(array_unique(array_merge($arr5,$arr6)));
    

    image-20200826105629265

    image-20200826105654329

    image-20200826105736181

    参考:https://blog.csdn.net/qq_26245325/article/details/76860350

  • 相关阅读:
    收集的正则表达式
    全面解析JavaScript中“&&”和“||”操作符(总结篇)
    3.5 二叉查找树的几何应用
    3.4 散列表
    3.3 平衡查找树
    3.2 符号表之二叉查找树BST
    3.1 符号表之二分查找
    2.7 二叉堆及优先队列
    2.6 经典排序算法总结
    2.5 3-way quickSort
  • 原文地址:https://www.cnblogs.com/makalochen/p/13563581.html
Copyright © 2011-2022 走看看