合並數組的方法
-
array_merge:
- 數字鍵,直接往后添加,key重置
- 字符串鍵,后面的數組的值會替代前面的值
-
+:
不管鍵名類型為字符串或數字,當鍵名相同時,前面的值都會把后面的值覆蓋掉
- 數字鍵,后面的數組的值不會替代前面的值
- 字符串鍵,后面的數組的值會替代前面的值
合並數組並去重
//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)));
參考:https://blog.csdn.net/qq_26245325/article/details/76860350