There are three functions for merging arrays:
1.array_combine()
carries two parameter arrays. The value of parameter array one is used as the key of the new array, and the value of parameter array two is value as the value of the new array. Very simple.
Example:
Copy code The code is as follows:
$a = array('green', 'red', 'yellow');
$b = array('avocado', 'apple', 'banana');
$c = array_combine($a, $b) ;
print_r($c);
?>
The above example will output:
Copy code The code is as follows:
Array
(
[green] => avocado
[red] => apple
[yellow] => banana
)
2.array_merge() carries two parameter arrays, and simply appends array two to the back of array one Create a new array.
Example:
Copy code The code is as follows:
$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => " trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);
?>
The above example will output:
Copy code The code is as follows:
Array
(
[color] => green
[0] => 2
[1] => 4
[2] => a
[3] => b
[shape] => trapezoid
[4] => 4
)
3.array_merge_recursive() is the same as the above function, the only difference is that When appending, it is found that the key to be added already exists. The processing method of array_merge() is to overwrite the previous key value. The processing method of array_merge_recursive() is to reconstruct the sub-array and form a new numerical array with the values of the repeated keys.
Example:
Copy code The code is as follows:
$ar1 = array("color" => array("favorite" => "red"), 5);
$ar2 = array(10, "color" => array("favorite" => "green ", "blue"));
$result = array_merge_recursive($ar1, $ar2);
?>
The above example will output $result:
Copy code The code is as follows:
Array
(
[color] => Array
(
[ favorite] => Array
(
[0] => red
[1] => green
)
[0] => blue
)
[0] => 5
[1] => 10
)
There are two functions for splitting an array: 1.array_slice() carries three parameters. Parameter one is the target array, parameter two is offset, and parameter three is length. The function is to extract a subarray of length starting from offset from the target array.
If offset is a positive number, the starting position is checked from the beginning of the array. If offset is a negative number, the starting position is checked from the end of the array. If length is a positive number, the number of subarray elements taken out is definitely length. If length is a negative number, the subarray starts from offset and ends at count (target array) - |length| from the beginning of the array. Specifically, if length is empty, the end position is at the end of the array.
Example:
Copy code The code is as follows:
$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, 2); // returns "c", "d" , and "e"
$output = array_slice($input, -2, 1); // returns "d"
$output = array_slice($input, 0, 3); // returns "a" , "b", and "c"
// note the differences in the array keys
print_r(array_slice($input, 2, -1));
print_r(array_slice($input , 2, -1, true));
?>
The above example will output:
Copy code The code is as follows:
Array
(
[0] => c
[1] => d
)
Array
(
[2] => c
[3] => d
)
2.array_splice() carry The three parameters are the same as above, and their function is to delete the subarray with length starting from offset.
Example:
Copy code The code is as follows:
$input = array("red", "green", "blue", "yellow");
array_splice($input, 2);
// $input is now array("red", "green")
$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, -1);
// $input is now array("red", "yellow")
$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, count($input), "orange");
// $input is now array("red", "orange")
$input = array("red", "green", "blue", "yellow");
array_splice($input, -1, 1, array("black", "maroon"));
// $input is now array("red", "green",
// "blue", "black", "maroon")
$input = array("red", "green", "blue", "yellow");
array_splice($input, 3, 0, "purple");
// $input is now array("red", "green",
// "blue", "purple", "yellow");
?>
区别取值函数有四个: 1.array_intersect()
携带参数不定,均为数组,返回所有数组中公共元素的值组成的数组,数组的键由所在第一个数组的键给出。
例子:
复制代码 代码如下:
$array1 = array("a" => "green", "red", "blue");
$array2 = array("b" => "green", "yellow", "red");
$result = array_intersect($array1, $array2);
?>
上例将输出:
复制代码 代码如下:
Array
(
[a] => green
[0] => red
)
2.array_intersect_assoc() 在前一个函数的基础上,返回所有数组中键、值均相同的键值对。
例子:
复制代码 代码如下:
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result_array = array_intersect_assoc($array1, $array2);
?>
上例将输出:
复制代码 代码如下:
Array
(
[a] => green
)
3.array_diff() 携带多个数组,返回第一个数组中有的而后面的数组中没有的所有的值组成的新数组,对应键取自第一个数组。
例子:
复制代码 代码如下:
$array1 = array("a" => "green", "red", "blue", "red");
$array2 = array("b" => "green", "yellow", "red");
$result = array_diff($array1, $array2);
print_r($result);
?>
上例将输出:
复制代码 代码如下:
Array
(
[1] => blue
)
4.array_diff_assoc() 在前一个函数的基础上,不仅需要匹配值还要匹配键。
例子:
复制代码 代码如下:
$array1 = array ("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array ("a" => "green", "yellow", "red");
$result = array_diff_assoc($array1, $array2);
?>
上例将输出:
复制代码 代码如下:
Array
(
[b] => brown
[c] => blue
[0] => red
)
http://www.bkjia.com/PHPjc/321300.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/321300.htmlTechArticleThere are three functions for merging arrays: 1.array_combine() carries two parameter arrays, and the value of parameter array one is new The key of the array, the value of parameter array two is used as the value of the new array. Very simple. Example: ...