Php 如何合并多个数组并将所有重复的密钥更改为唯一密钥?

Php 如何合并多个数组并将所有重复的密钥更改为唯一密钥?,php,Php,我使用php递归函数通过$test=array\u merge((array)$test,$new\u sum2)合并多个数组;打印(测试) 输出如下: Array ( [0] => 0 ) Array ( [0] => 0 [1] => Array ( [package_amount] => 1500.00 [first_name] => Chan Li Ching [created_on] => 2020-02-16 18:33:26 ) [2]

我使用php递归函数通过
$test=array\u merge((array)$test,$new\u sum2)合并多个数组;打印(测试)

输出如下:

Array ( [0] => 0 ) 
Array ( 
[0] => 0 
[1] => Array ( [package_amount] => 1500.00 [first_name] => Chan Li Ching [created_on] => 2020-02-16 18:33:26 ) 
[2] => Array ( [package_amount] => 1500.00 [first_name] => KOH YEEN FONG [created_on] => 2020-02-16 18:41:45 ) ) 
Array ( 
[0] => 0 
[1] => Array ( [package_amount] => 1500.00 [first_name] => Chan Li Ching [created_on] => 2020-02-16 18:33:26 ) )

Array ( 
[0] => 0 
[1] => Array ( [package_amount] => 7500.00 [first_name] => Teh Kok Leng [created_on] => 2020-02-14 13:28:12 ) 
[2] => Array ( [package_amount] => 7500.00 [first_name] => Choo Lee Chan [created_on] => 2020-02-14 13:30:17 ) 
[3] => Array ( [package_amount] => 3000.00 [first_name] => Azmi Abdul Wahab [created_on] => 2020-02-12 11:30:02 ) 
[4] => Array ( [package_amount] => 19500.00 [first_name] => Endah Korniawati Binti Md. Ali [created_on] => 2020-02-12 11:30:02 ) ) 

Array ( 
[0] => 0 
[1] => Array ( [package_amount] => 7500.00 [first_name] => Teh Kok Leng [created_on] => 2020-02-14 13:28:12 ) 
[2] => Array ( [package_amount] => 7500.00 [first_name] => Choo Lee Chan [created_on] => 2020-02-14 13:30:17 ) 
[3] => Array ( [package_amount] => 3000.00 [first_name] => Azmi Abdul Wahab [created_on] => 2020-02-12 11:30:02 ) 
[4] => Array ( [package_amount] => 3000.00 [first_name] => Lim Khee Yaw [created_on] => 2020-02-12 11:30:02 ) 
[5] => Array ( [package_amount] => 1500.00 [first_name] => Won Ku Fatt@Wah Kai Fatt [created_on] => 2020-02-12 11:30:02 ) 
[6] => Array ( [package_amount] => 1500.00 [first_name] => Tan Kam [created_on] => 2020-02-12 11:30:02 ) 
[7] => Array ( [package_amount] => 3000.00 [first_name] => Tee Siew khim [created_on] => 2020-02-12 11:30:02 ) 
[8] => Array ( [package_amount] => 1500.00 [first_name] => Tan Yi Fu [created_on] => 2020-02-12 11:30:02 ) ) 
如何将多个数组组合成一个数组,并确保所有键都是唯一的增量

下面是var_export()的输出:


如果我理解正确,您可以使用
array\u merge
函数将所有数组合并为一个数组。正如文档所说,如果数组索引是数字,那么结果数组键将以递增的方式重新编号

如果输入数组具有相同的字符串键,则后面的值 因为该键将覆盖上一个键。但是,如果 如果包含数字键,则后面的值不会覆盖原始值 值,但将被追加

带有数字键的输入数组中的值将重新编号为 在结果数组中从零开始递增键。

例如:

php > $a = [0 => 'a', 1 => 'b'];
php > $b = [0 => 'c', 1 => 'd'];

php > print_r(array_merge($a, $b));
Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
)

是否像中一样合并?是否将它们展平到单个阵列中?您可以共享数组的var_export()吗?这些值有多深?能否显示
var\u export()
提供的内容而不是print\r(),以便其他人可以使用它?好的,我在问题描述中添加了var\u export()。请检查一下。谢谢。@zac1987不要单独导出变量()。一次共享整个数组的整个var_export()。@vivek_23好的,我已经按照您的要求更新了我的问题,请检查一下。谢谢。我正在使用array_merge,但我得到的输出如我的问题所示<代码>函数recursive5($test){for(i=0,i<5,i++){$test=array\u merge((array)$test,$new\u sum2);recursive5($test);i=i+1;}}}
Ok,这样就可以把事情弄清楚了。您正在将一些带有个人/用户数据的索引数组累积到一个数组中。我假设您正在循环/递归中打印并打印,因此您发布的输出中的每个数组都是一个交互中累积的数据。对吗?如果是这样的话,输出中的最后一个数组应该是最终结果。明白了。谢谢你的指导
php > $a = [0 => 'a', 1 => 'b'];
php > $b = [0 => 'c', 1 => 'd'];

php > print_r(array_merge($a, $b));
Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
)