我有两个数组,我想用单个数组
制作独特的数组例如我有$a=array(3);
和$b=array(1,2,3)
所以我想要$c=array(1,2,3)
我做了一个代码:
$a=array(3);
$b=explode(',','1,2,3');
$ab=$a+$b;
$c=array_unique ($ab);
print_r($c);
它给了我Array ( [0] => 3 [1] => 2 )
但我想要Array ( [0] => 1 [1] => 2 [2] => 3 )
答案 0 :(得分:3)
$a = array(1,2,3,4,5,6);
$b = array(6,7,8,2,3);
$c = array_merge($a, $b);
$c = array_unique($c);
答案 1 :(得分:1)
操作
$ab = $a + $b
给你一个你没想到的结果。之前在PHP: Adding arrays together
解释了此行为的原因$ab is Array ( [0] => 3 [1] => 2 [2] => 3 )
+运算符从右侧追加剩余键的元素 将数组交给左手,而重复的键不是 覆盖。
array_merge提供了更直观的行为。
答案 2 :(得分:0)
数组合并,伙计。数组合并。 无论如何,因为类似问题(https://stackoverflow.com/a/2811849/223668)的答案告诉我们:
The + operator appends elements of remaining keys from the right handed array to the left handed, whereas duplicated keys are NOT overwritten.
如果您有数字键(如标准表中所示),它们肯定会在两个数组中重复,结果很不理想。
所以代码看起来应该是这样的:
$c = array_unique(array_merge($a, $b));
答案 3 :(得分:0)