php中数组合并,php中数组合并操作

将多个数组合并起来

1.合并数组

array_merge()函数将数组合并到一起,返回一个联合的数组,所得到的数组以第一个输入数组参数开始,按后面数组参数出现的顺序依次迫加,其形式为:

arrayarray_merge(arrayarray1 array2…,arrayn)

将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面,返回作为结果的数组。

如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值,然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。

如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引,实例如下:

$face=array("j","q","k","a");

$numbered=array("2","3","4","5","6","7","8","9");

$cards=array_merge($face,$numbered);

shuffle($cards);

print_r($cards);

这将返回如下所示的结果:

array( [0] => a [1] => 4 [2] => 9 [3] => 3 [4] => k [5] => 7 [6] => 5 [7] => q [8] => 6 [9] => 8 [10] => 2 [11] => j )

2.递归追加数组

array_merge_recursive()函数与array_merge()相同,可以将两个或多个数组合并在一起,形成一个联合的数组,两者之间的区别在于,当某个输入数组中的某个键己经存在于结果数组中时该函数会采取不同的处理方式,array_merge()会覆盖前面存在的键/值对,替换为当前输入数组中的键/值对,而array_merge_recursive()将把两个值合并在一起,形成一个新的数组,并以原有的键作为数组名。还有一个数组合并的形式,就是递归追加数组,其形式为:

arrayarray_merge_recursive(arraykey,arrayvalues )

实例如下:

$class1=array("john"=> 100,"james"=> 85);

$class2=array("micky"=> 78,"john"=> 45);

$classscores=array_merge_recursive($class1,$class2);

print_r($classscores);

这将返回如下结果:

array( [john] =>array( [0] => 100 [1] => 45 ) [james] => 85 [micky] => 78 )

3.连接两个数组

array_combine()函数会得到一个新数组,它由一组提交的键和对应的值组成,其形式为:

arrayarray_merge(arrayarray1,arrayarray2[…,arrayarrayn])

注意,两个输入数组必须大小相同,不能为空,实例如下:

$abbreviations=array("al","ak","az","ar");

$states=array("alabama","alaska","arizona","arkansas");

$statemap=array_combine($abbreviations,$states);

print_r($statemap);

这会返回:

array( [al] => alabama [ak] => alaska [az] => arizona [ar] => arkansas )

(责任编辑:admin)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值