PHP合并数组+号和array_merge的区别_php技巧
程序员文章站
2022-04-17 18:47:45
...
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)
推荐阅读
-
php 数组的合并、拆分、区别取值函数集
-
PHP中数组合并的两种方法及区别介绍_PHP教程
-
浅析PHP substr,mb_substr以及mb_strcut的区别和用法_php技巧
-
php通过array_merge()函数合并两个数组的方法_PHP教程
-
php中$_REQUEST、$_POST、$_GET的区别和联系小结_php技巧
-
PHP中array_merge和array相加的区别分析
-
PHP和JavaScrip分别获取关联数组的键值示例代码_php技巧
-
php 中用方括号[] 和 用大括号{} 对数组索引的区别?
-
php简单对象与数组的转换函数代码(php多层数组和对象的转换)_php技巧
-
PHP 数组相加和array_merge的区别