1. 程式人生 > 實用技巧 >php 一維陣列的合併和去重

php 一維陣列的合併和去重

合併陣列的方法

  1. array_merge:
    • 數字鍵,直接往後新增,key重置
    • 字串鍵,後面的陣列的值會替代前面的值
  2. +:
    • 數字鍵,後面的陣列的值不會替代前面的值
    • 字串鍵,後面的陣列的值會替代前面的值

合併陣列並去重

//1.單陣列去重複
array_unique($arrTest)
//2.多陣列去重複
 array_keys(array_flip($arr1)+array_flip($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)));
echo '普通陣列測試結束-----------------<br>';

echo '關聯陣列測試,鍵為數字-----------';
dump(array_merge($arr3, $arr4));
dump($arr3+$arr4);
dump(array_keys(array_flip($arr3)+array_flip($arr4)));
echo '關聯陣列測試,鍵為數字 結束-------------<br>';

echo '關聯陣列測試,鍵為數字和字串混合-----------';
dump(array_merge($arr5, $arr6));
dump($arr5+$arr6);

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