There are generally two methods of array fusion in PHP, one is to add directly using the plus sign, and the other is The array_merge function is used for addition. There is a slight difference between the two:
1. The natural index in the addition verification array will not be reset
2. In the addition method, the values in the added array will not be overwritten
3. The natural index in the merge function will be reset
4. The merge function does not matter the relationship between merged and merged. The value of the later array parameter will overwrite the value of the same key of the earlier array parameter
Example:
Array 1:
$arr1 = array( 10 => 'valueof10', 11 => 'valueof11', 'key1' => 'dataofkey1', 'key2' => 'dataofkey2', 'array' => array( 'key1' => 1, 'key2' => 'abc', 'key3' => array( 1, 2, 'name' => 'peter' ), ), );
Array 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' ), ), );
Result comparison:
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)