Home >Backend Development >PHP Tutorial >php array splicing
Merge arrays
array_merge() function merges arrays together and returns a combined array. The resulting array starts with the first input array parameter, and is added sequentially in the order in which subsequent array parameters appear. Its form is:
1 array array_merge (array array1 array2...,arrayN)
Merge the cells of one or more arrays, and the values in one array are appended to the previous array. Returns the resulting array.
If the input array has the same string key name, the value after the key name will overwrite the previous value. However, if the array contains numeric keys, the subsequent values will not overwrite the original values but will be appended to them.
If only an array is given and the array is numerically indexed, the keys will be re-indexed in a consecutive manner.
Examples are as follows:
1 $face = array("J","Q","K","A");
2 $numbered = array("2","3","4","5 ","6","7","8","9");
3 $cards = array_merge($face, $numbered);
4 shuffle($cards);
5 print_r($cards);
This will return results as shown below, running the code:
1 Array ( [0] => A [1] => 4 [2] => 9 [3] => 3 [4] => ; K [5] => 7 [6] => 5 [7] => Q [8] => 6 [9] => 8 [10] => 2 [11] => J )
Append arrays recursively
array_merge_recursive() function is the same as array_merge(). It can merge two or more arrays together to form a joint 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 to form a new array with the original keys. as an array name. There is also a form of array merging, which is to recursively append arrays. Its form is:
1 array array_merge_recursive( array key,array values)
The example is as follows:
1 $class1 = array("John" => 100, "James" => 85);
2 $class2 = array ("Micky" => 78, "John" => 45);
3 $classScores = array_merge_recursive($class1, $class2);
4 print_r($classScores);
This will return the following results:
1 Array ( [John] => Array ( [0] => 100 [1] => 45 ) [James] => 85 [Micky] => 78 )
Connect two arrays
array_combine() The function will get a new array consisting of a set of submitted keys and corresponding values. Its form is:
1 array array_merge(array array1,array array2[…,array arrayN])
Note that the two input arrays must be the same size and cannot be empty. Examples are as follows:
1 $abbreviations = array("AL","AK","AZ","AR");
2 $states = array("Alabama","Alaska","Arizona","Arkansas") ;
3 $stateMap = array_combine($abbreviations,$states);
4 print_r($stateMap);
This will return:
1 Array ( [AL] => Alabama [AK] => Alaska [AZ] => Arizona [AR] => Arkansas )