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

posted @ 2020-08-26 10:24  makalo  阅读(1922)  评论(0编辑  收藏  举报