The main content of this article is the various methods to implement array merging in PHP, which has certain reference value. Interested friends can learn about it.
Sample code:
$arr1 = array(1, 2, 3, 4, 5); $arr2 = array(1, 2, 6, 7, 8, 9, 10); $result1 = array_merge($arr1, $arr2); $arr3 = array("name" => "itbsl", "age" => 13, "sex" => "Male"); $arr4 = array("name" => "火龙果", "age" => 13, "sex" => "Male"); $result2 = array_merge($arr3, $arr4); echo "<pre class="brush:php;toolbar:false">"; var_dump($result1); var_dump($result2);
Run the above code, the output result is as shown below:
When merging ordinary arrays, the second array will be placed behind the first array and returned after splicing.
But for an array of key-value pairs, if there are the same keys, the second array will overwrite the values corresponding to the same keys in the first array.
through Sample code:
$arr1 = array(1, 2, 3, 4, 5); $arr2 = array(1, 2, 6, 7, 8, 9, 10); $result1 = $arr1 + $arr2; $arr3 = array("name" => "itbsl", "age" => 13, "sex" => "Male"); $arr4 = array("name" => "火龙果", "age" => 13, "sex" => "Male", "id" => "411521"); $result2 = $arr3 + $arr4; echo "<pre class="brush:php;toolbar:false">"; var_dump($result1); var_dump($result2);
Run the above code, the output result is as shown below:
It can be seen that when using " " to merge two arrays, whether it is an ordinary array or a key-value array, as long as the subscript is the same or the key is the same, the former will overwrite the latter. . This needs attention.
array_combine()
The function will get a new array, which consists of a set of submitted keys and corresponding values.
Sample code:
$arr1 = array("A","B","C","D"); $arr2 = array("paul","itbsl","Golang","PHP"); $result = array_combine($arr1,$arr2); echo '<pre class="brush:php;toolbar:false">'; var_dump($result);
Run the above code, the output result is as shown below:
Note: If you need to merge the arrays into In the above form, the lengths of the two merged arrays must be equal, that is, count($arr1) == count($arr2), and cannot be empty
array_merge_recursive()
The function is the same as array_merge()
, which can merge two or more arrays together to form a combined array. The difference between the two is that the function will handle it differently when a key in an input array already exists in the result array. array_merge()
will overwrite the previously existing key/value pairs and replace them with the key/value pairs in the current input array, while array_merge_recursive()
will merge the two values together, Form a new array and use the original keys as the array name.
Sample code:
$arr3 = array("name" => "itbsl", "age" => 13, "sex" => "Male"); $arr4 = array("name" => "火龙果", "age" => 13, "sex" => "Male"); $result2 = array_merge_recursive($arr3, $arr4); echo "<pre class="brush:php;toolbar:false">"; var_dump($result2);
Run the above code, the output result is as shown below:
Related tutorials:PHP video tutorial
The above is the detailed content of [PHP Learning] Multiple methods to merge arrays. For more information, please follow other related articles on the PHP Chinese website!