PHP合并数组+号和array_merge的区别 |
PHP的数组融合一般有两种做法,一种是直接使用加号相加,另一种则是使用array_merge函数进行相加,两者之间有点区别: 1.相加会证数组中的自然index不被重置 例子: 数组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) |