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
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我