Home  >  Article  >  Backend Development  >  PHP basic array merging, splitting, and distinguishing value function sets_PHP tutorial

PHP basic array merging, splitting, and distinguishing value function sets_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 17:45:42712browse

PHP array merging, splitting, and differential value function set
It is said that the array function of PHP is very powerful and can only be felt when it is actually used in project work. At least I think so. Now I have slowly discovered the mystery...
There are three functions for merging arrays:
1.array_combine()
It 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 used as the value of the new array. Very simple.
Example:
$a = array('green', 'red', 'yellow');
$b = array('avocado', 'apple', 'banana');
$c = array_combine($a, $b);

print_r($c);
?>

The above example will output:

Array
(
[green] => avocado
[red] => apple
[yellow] => banana
)
2.array_merge()
Carrying two parameter arrays, simply append array two to array one to form a new array.
Example:
$arrayarray1 = array("color" => "red", 2, 4);
$arrayarray2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);
?>

The above example will output:
Array
(
[color] => green
[0] => 2
[1] => 4
[2] => a
[3] => b
[shape] => trapezoid
[4] => 4
)
3.array_merge_recursive()
It 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 replace the repeated keys. The values ​​form a new numeric array.
Example:
$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:

Array
(
[color] => Array
(
[favorite] => Array
(
[0] => red
[1] => green
)

[0] => blue
)

[0] => 5
[1] => 10
)
There are two functions for splitting arrays:
1.array_slice()
It 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 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:
$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:
Array
(
[0] => c
[1] => d
)
Array
(
[2] => c
[3] => d
)
2.array_splice()
It carries three parameters, the same as above, and its function is to delete the subarray with length starting from offset.
Example:
$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()
携带参数不定,均为数组,返回所有数组中公共元素的值组成的数组,数组的键由所在第一个数组的键给出。
例子:
$arrayarray1 = array("a" => "green", "red", "blue");  
$arrayarray2 = 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  
)   

作者“飞翔的人生”

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/478628.htmlTechArticleThe merging, splitting, and distinguishing function sets of PHP arrays say that PHP's array functions are very powerful, and only true You can only feel it when you use it in project work, at least I think so, now it has slowly...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn