php合号,PHP合并数组+号和array_merge的区别

本文详细介绍了PHP中数组融合的两种方式:使用加号直接相加和使用array_merge函数。加号相加保持数组自然索引不重置,不覆盖已有值;而array_merge会重置自然索引,后面数组的值会覆盖前面数组相同键的值。通过示例对比了两种方法的不同结果。
摘要由CSDN通过智能技术生成

PHP的数组融合一般有两种做法,一种是直接使用加号相加,另一种则是使用array_merge函数进行相加,两者之间有点区别:

1.相加会证数组中的自然index不被重置

2.相加方法中,被加的数组内的值不会被覆盖

3.merge函数中的自然index会被重置

4.merge函数,无所谓被merge和merge关系,越后面的array参数,其值,会覆盖较前面的array参数相同键的值

例子:

数组1:

$arr1 = array(

10 => ‘valueof10‘,

11 => ‘valueof11‘,

‘key1‘ => ‘dataofkey1‘,

‘key2‘ => ‘dataofkey2‘,

‘array‘ => array(

‘key1‘ => 1,

‘key2‘ => ‘abc‘,

‘key3‘ => array(

1, 2, ‘name‘ => ‘peter‘

),

),

);

数组2:

$arr2 = array(

10 => ‘newvalueof10‘,

11 => ‘newvalueof11‘,

‘key1‘ => ‘newdataofkey1‘,

‘key3‘ => ‘newdataofkey3‘,

‘array‘ => array(

‘key1‘ => 2,

‘key2‘ => ‘defg‘,

‘key3‘ => array(

1, 2, ‘name‘ => ‘jonathan‘, ‘gender‘ => ‘male‘

),

),

);

结果比较:

array (size=6)

10 => string ‘valueof10‘ (length=9)

11 => string ‘valueof11‘ (length=9)

‘key1‘ => string ‘dataofkey1‘ (length=10)

‘key2‘ => string ‘dataofkey2‘ (length=10)

‘array‘ =>

array (size=3)

‘key1‘ => int 1

‘key2‘ => string ‘abc‘ (length=3)

‘key3‘ =>

array (size=3)

0 => int 1

1 => int 2

‘name‘ => string ‘peter‘ (length=5)

‘key3‘ => string ‘newdataofkey3‘ (length=13)

array (size=8)

0 => string ‘valueof10‘ (length=9)

1 => string ‘valueof11‘ (length=9)

‘key1‘ => string ‘newdataofkey1‘ (length=13)

‘key2‘ => string ‘dataofkey2‘ (length=10)

‘array‘ =>

array (size=3)

‘key1‘ => int 2

‘key2‘ => string ‘defg‘ (length=4)

‘key3‘ =>

array (size=4)

0 => int 1

1 => int 2

‘name‘ => string ‘jonathan‘ (length=8)

‘gender‘ => string ‘male‘ (length=4)

2 => string ‘newvalueof10‘ (length=12)

3 => string ‘newvalueof11‘ (length=12)

‘key3‘ => string ‘newdataofkey3‘ (length=13)

原文:http://www.jb51.net/article/68375.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值