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)
本文地址:https://www.stayed.cn/item/22924
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我