PHP合并数组+号和array_merge的区别
时间:2021-01-28 来源:互联网
这篇文章主要介绍了PHP合并数组+号和array_merge的区别,PHP的数组融合一般有两种做法,一种是直接使用加号相加,另一种则是使用array_merge函数进行相加,两者之间有点区别,需要的朋友可以参考下
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)
-
Linea 即将 TGE,Etherex 能否打响 Linea 发币前的第一枪? 2025-07-30
-
解读香港稳定币申请指引:预计明年初发放首批牌照,持有人需完成身分认证 2025-07-30
-
以太坊因19亿美元资金流入及ETF乐观情绪飙升,贝莱德和SharpLink双双加码 2025-07-30
-
黄金、比特币和宝可梦卡,谁才是这个时代的「完美抵押品」? 2025-07-30
-
Solana 僅剩表面繁榮?當代幣上漲僅靠幕後操縱,鏈上週期或已走向盡頭 2025-07-30
-
LINEA代币经济学:ETH Gas占85%,生态系统占15%,资金库占15% 2025-07-30