PHP编程中用于合并数组的三个函数[/b]

<?php 
$a = array('green', 'red', 'yellow'); 
$b = array('avocado', 'apple', 'banana'); 
$c = array_combine($a, $b);  
print_r($c); 
?> 

输出结果:
Array
(
[green] => avocado
[red] => apple
[yellow] => banana
)
解释:
array_combine()
携带两个参数数组,参数数组一的值作新数组的键,参数数组二的值作新数组的值

<?php 
$array1 = array("color" => "red", 2, 4); 
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4); 
$result = array_merge($array1, $array2); 
print_r($result); 
?> 

输出结果:
Array
(
[color] => green
[0] => 2
[1] => 4
[2] => a
[3] => b
[shape] => trapezoid
[4] => 4
)
解释:
array_merge()
携带两个参数数组,简单的将数组二追加到数组一的后面构成新数组

<?php 
$ar1 = array("color" => array("favorite" => "red"), 5); 
$ar2 = array(10, "color" => array("favorite" => "green", "blue")); 
$result = array_merge_recursive($ar1, $ar2); 
?> 

输出结果:
Array
(
[color] => Array
(
[favorite] => Array
(
[0] => red
[1] => green
)

[0] => blue
)

[0] => 5
[1] => 10
)
解释:
array_merge_recursive()
与上面函数雷同,唯一的区别是在追加时发现要添加的键已存在时,array_merge()的处理方式是覆盖前面的键 值,array_merge_recursive()的处理方式是重构子数组,将重复的键的值组成一个新的数值数组

PHP编程中用于拆分数组的两个函数

<?php 
$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)); 
?> 

输出结果:
Array
(
[0] => c
[1] => d
)
Array
(
[2] => c
[3] => d
)
解释:
携带三个参数,参数一为目标数组,参数二为offset,参数三为length。从目标数组中取出从offset开始长度为length的 子数组,如果offset为正数,则开始位置从数组开头查offset处,如果offset为负数开始位置从距数组末尾查offset处。如果length 为正数,则毫无疑问取出的子数组元素个数为length,如果length为负数,则子数组从offset开始到距数组开头count(数组)length处结束。如果length为空,则结束位置在数组结尾

<?php 
$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"); 
?> 

解释:
array_splice()
携带三个参数,同上,作用是删除从offset开[b]始长度为length的子数组[/blo[/b]ckquote]

PHP编程中用于数组区别取值的四个函数

<?php 
$array1 = array("a" => "green", "red", "blue"); 
$array2 = array("b" => "green", "yellow", "red"); 
$result = array_intersect($array1, $array2); 
?> 

输出结果:
Array
(
[a] => green
[0] => red
)
解释:
array_intersect()
携带参数不定,均为数组,返回所有数组中公共元素的值组成的数组,数组的键由所在第一个数组的键给出

<?php 
$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
)
解释:
array_intersect_assoc()
在前一个函数的基础上,返回所有数组中键、值均相同的键值对

<?php 
$array1 = array("a" => "green", "red", "blue", "red"); 
$array2 = array("b" => "green", "yellow", "red"); 
$result = array_diff($array1, $array2); 
  
print_r($result); 
?> 

输出结果:
Array
(
[1] => blue
)
解释:
array_diff()
携带多个数组,返回第一个数组中有的而后面的数组中没有的所有的值组成的新数组,对应键取自第一个数组

<?php 
$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
)
解释:
array_diff_assoc()
在前一个函数的基础上,不仅需要匹配值还要匹配键

  • Tags:

发表评论/留言

为了您的身体健康、潇洒、美丽、帅气,请不要灌水。

/ 快捷键:Ctrl+Enter