常用的php数组函数的解析及例子说明
2011-04-07 22:57
190 查看
PHP数组函数解释和例子
1. array_change_key_case () 函数
作用:返回字符串键名全为小写或大写的数组
语法:array_change_key_case ( array input [, int case] )
注释:将 input 数组中的所有键名改为全小写或大写。改变是根据后一个选项 case 参数来进行的。可以在这里用两个常量,CASE_UPPER 和 CASE_LOWER。默认值是 CASE_LOWER。本函数不改变数字索引。如果一个数组中的多个键名经过本函数后变成一样的话(例如 "keY" 和 "kEY"),最后一个值将覆盖其它的值。
例子 1. array_change_key_case() 例子
复制代码
<?php
$input_array = array("FirSt" => 1, "SecOnd" => 4);
print_r(array_change_key_case($input_array, CASE_UPPER));
?>
上例将输出:
Array([FIRST] => 1 [SECOND] => 4)
2. array_chunk () 函数
作用:将一个数组分割成多个
语法:array_chunk ( array input, int size [, bool preserve_keys] )
注释:array_chunk() 将一个数组分割成多个数组,其中每个数组的单元数目由 size 决定。最后一个数组的单元数目可能会少几个。得到的数组是一个多维数组中的单元,其索引从零开始。将可选参数 preserve_keys 设为 TRUE,可以使 PHP 保留输入数组中原来的键名。如果你指定了 FALSE,那每个结果数组将用从零开始的新数字索引。默认值是 FALSE。
例子:array_chunk() 例子
复制代码
<?php
$input_array = array('id'=>'a', 'name'=>'b', 'c', 'd', 'e');
print_r(array_chunk($input_array, 2));
print_r(array_chunk($input_array, 2, true));
?>
上例将输出:
Array( [0] => Array ( [0] => a [1] => b) [1] => Array ([0] => c [1] => d ) [2] => Array ( [0] => e ))
Array( [0] => Array ( [id] => a [name] => b) [1] => Array ([0] => c [1] => d ) [2] => Array ([2] => e ))
3. array_combine () 函数
作用:创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值
语法:array_combine ( array keys, array values )
注释:返回一个 array,用来自 keys 数组的值作为键名,来自 values 数组的值作为相应的值。如果两个数组的单元数不同或者数组为空时返回 FALSE。
例子:简单的 array_combine() 例子
复制代码
<?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)
4. array_count_values () 函数
作用:统计数组中所有的值出现的次数
语法:array_count_values ( array input )
注释:array_count_values() 返回一个数组,该数组用 input 数组中的值作为键名,该值在 input 数组中出现的次数作为值。
例子:array_count_values() 例子
复制代码
<?php
$array = array(1, "hello", 1, "world", "hello");
print_r(array_count_values ($array));
?>
上例将输出:
Array([1] => 2 [hello] => 2 [world] => 1)
5. array_fill () 函数
作用:用给定的值填充数组
语法:array_fill ( int start_index, int num, mixed value )
注释:array_fill() 用 value 参数的值将一个数组填充 num 个条目,键名由 start_index 参数指定的开始。注意 num 必须是一个大于零的数值,否则 PHP 会发出一条警告。
例子:
复制代码
<?php
$a = array('ccccc','bbbb');
$a = array_fill(5, 6, 'banana');
print_r($a);
?>
上例将输出:
Array([5] => banana [6] => banana [7] => banana [8] => banana [9] => banana [10] => banana)
6. array_ filter () 函数
作用:用回调函数过滤数组中的单元
语法:array_filter ( array input [, callback callback] )
注释:依次将 input 数组中的每个值传递到 callback 函数。如果 callback 函数返回 TRUE,则 input 数组的当前值会被包含在返回的结果数组中。数组的键名保留不变。如果没有提供 callback 函数,array_filter() 将删除 input 中所有等值为 FALSE 的条目。
例子1:
复制代码
<?php
function odd($var){
return($var % 2 == 1);
}
function even($var){
return($var % 2 == 0);
}
$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array(6, 7, 8, 9, 10, 11, 12);
echo "Odd :/n";
print_r(array_filter($array1, "odd"));
echo "Even:/n";
print_r(array_filter($array2, "even"));
?>
上例将输出:
Odd :
Array( [a] => 1[c] => 3[e] => 5)
Even:
Array([0] => 6[2] => 8[4] => 10 [6] => 12)
例子 2. array_filter() 无 callback
复制代码
<?php
$entry = array( 0 => 'foo',1 => false,2 => -1,3 => null,4 => '');
print_r(array_filter($entry));
?>
上例将输出:
Array([0] => foo [2] => -1)
7. array_ map () 函数
作用:将回调函数作用到给定数组的单元上
语法:array_map ( callback callback, array arr1 [, array ...] )
注释:array_map() 返回一个数组,该数组包含了 arr1 中的所有单元经过 callback 作用过之后的单元。callback 接受的参数数目应该和传递给 array_map() 函数的数组数目一致。
例子:例子 1. array_map() 例子
复制代码
<?php
function cube($n){
return($n * $n * $n);
}
$a = array(1, 2, 3, 4, 5);
$b = array_map("cube", $a);
print_r($b);
?>
这使得 $b 成为:
Array([0] => 1[1] => 8[2] => 27 [3] => 64 [4] => 125)
例子 2. array_map() - 使用更多的数组
复制代码
<?php
function show_Spanish($n, $m){
return("The number $n is called $m in Spanish");
}
function map_Spanish($n, $m){
return(array($n => $m));
}
$a = array(1, 2, 3, 4, 5);
$b = array("uno", "dos", "tres", "cuatro", "cinco");
$c = array_map("show_Spanish", $a, $b);
print_r($c);
$d = array_map("map_Spanish", $a , $b);
print_r($d);
?>
上例将输出:
// printout of $c
Array([0] => The number 1 is called uno in Spanish [1] => The number 2 is called dos in Spanish [2] => The number 3 is called tres in Spanish [3] => The number 4 is called cuatro in Spanish [4] => The number 5 is called cinco in Spanish)
// printout of $d
Array([0] => Array([1] => uno)[1] => Array([2] => dos)[2] => Array([3] => tres)[3] => Array([4] => cuatro)[4] => Array([5] => cinco))
通常使用了两个或更多数组时,它们的长度应该相同,因为回调函数是平行作用于相应的单元上的。如果数组的长度不同,则最短的一个将被用空的单元扩充。
本函数一个有趣的用法是构造一个数组的数组,这可以很容易的通过用 NULL 作为回调函数名来实现。
例子 3. 建立一个数组的数组
复制代码
<?php
$a = array(1, 2, 3, 4, 5);
$b = array("one", "two", "three", "four", "five");
$c = array("uno", "dos", "tres", "cuatro", "cinco");
$d = array_map(null, $a, $b, $c);
print_r($d);
?>
上例将输出:
Array([0] => Array([0] => 1[1] => one[2] => uno)[1] => Array([0] => 2[1] => two[2] => dos)[2] => Array([0] => 3[1] => three[2] => tres) [3] => Array([0] => 4[1] => four[2] => cuatro)[4] => Array([0] => 5[1] => five[2] => cinco))
8. array_ flip () 函数
作用:交换数组中的键和值
语法:array_flip ( array trans )
注释:array_flip() 返回一个反转后的 array,例如 trans 中的键名变成了值,而 trans 中的值成了键名。
注意 trans 中的值需要能够作为合法的键名,例如需要是 integer 或者 string。如果值的类型不对将发出一个警告,并且有问题的键/值对将不会反转。
如果同一个值出现了多次,则最后一个键名将作为它的值,所有其它的都丢失了。array_flip() 如果失败返回 FALSE。
例子:array_flip() 例子:冲突
复制代码
<?php
$trans = array("a" => 1, "b" => 1, "c" => 2);
$trans = array_flip($trans);
print_r($trans);
?>
现在 $trans 变成了:
Array([1] => b[2] => c)
9. array_key_exists () 函数
作用:检查给定的键名或索引是否存在于数组中
语法:array_key_exists ( mixed key, array search )
注释:array_key_exists() 在给定的 key 存在于数组中时返回 TRUE。key 可以是任何能作为数组索引的值。array_key_exists() 也可用于对象。
例子:
复制代码
<?php
$search_array = array('first' => null, 'second' => 4);
$str = array('first','second','cccc');
// returns true
array_key_exists('first', $search_array);
//return true
array_key_exists(1,$str);
?>
10. array_ keys () 函数
作用:返回数组中所有的键名
语法:array_keys ( array input [, mixed search_value [, bool strict]] )
注释:array_keys() 返回 input 数组中的数字或者字符串的键名。
如果指定了可选参数 search_value,则只返回该值的键名。否则 input 数组中的所有键名都会被返回。自 PHP 5 起,可以用 strict 参数来进行全等比较(===)。
例子:array_keys() 例子
复制代码
<?php
$array = array(0 => 100, "color" => "red");
print_r(array_keys($array));
$array = array("blue", "red", "green", "blue", "blue");
print_r(array_keys($array, "blue"));
$array = array("color" => array("blue", "red", "green"),
"size" => array("small", "medium", "large"));
print_r(array_keys($array));
?>
上例将输出:
Array([0] => 0 [1] => color)
Array([0] => 0 [1] => 3 [2] => 4)
Array([0] => color [1] => size)
11. array_ values () 函数
作用:返回数组中所有的值
语法:array_values ( array input )
注释:array_values() 返回 input 数组中所有的值并给其建立数字索引。
例子:array_values() 例子
复制代码
<?php
$array = array("size" => "XL", "color" => "gold");
$array2 = array("color" => array("blue", "red", "green"),
"size" => array("small", "medium", "large"));
print_r(array_values($array));
print_r(array_values($array2));
?>
上例将输出:
Array([0] => XL [1] => gold )
Array([0] => Array([0] => blue[1] => red[2] => green)
[1] => Array([0] => small[1] => medium[2] => large))
12. array_merge () 函数
作用:合并一个或多个数组
语法:array_merge ( array array1 [, array array2 [, array ...]] )
注释:array_merge() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。
例子:array_merge() 例子
复制代码
<?php
$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
$ar1 = array("color" => array("favorite" => "red"), 5);
$ar2 = array(10, "color" => array("favorite" => "green", "blue"));
$result2 = array_merge($ar1, $ar2);
print_r($result);
print_r($result2);
?>
上例将输出:
Array([color] => green [0] => 2 [1] => 4[2] => a [3] => b[shape] => trapezoid [4] => 4)
Array([color] => Array([favorite] => green [0] => blue)
[0] => 5
[1] => 10)
例子 2. 简单的 array_merge() 例子
复制代码
<?php
$array1 = array();
$array2 = array(1 => "data");
$result = array_merge($array1, $array2);
?>
别忘了数字键名将会被重新编号!
Array([0] => data)
如果你想完全保留原有数组并只想新的数组附加到后面,用 + 运算符:
复制代码
<?php
$array1 = array();
$array2 = array(1 => "data");
$result = $array1 + $array2;
?>
数字键名将被保留从而原来的关联保持不变。
Array([1] => data)
警告
array_merge() 的行为在 PHP 5 中被修改了。和 PHP 4 不同,array_merge() 现在只接受 array 类型的参数。不过可以用强制转换来合并其它类型。请看下面的例子。
例子 3. array_merge() PHP 5 例子
复制代码
<?php
$beginning = 'foo';
$end = array(1 => 'bar');
$result = array_merge((array)$beginning, (array)$end);
print_r($result);
?>
上例将输出:
Array([0] => foo [1] => bar)
13. array_merge_recursive () 函数
作用:递归地合并一个或多个数组
语法:array_merge_recursive ( array array1 [, array ...] )
注释:将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
如果输入的数组中有相同的字符串键名,则这些值会被合并到一个数组中去,这将递归下去,因此如果一个值本身是一个数组,本函数将按照相应的条目把它合并为另一个数组。然而,如果数组具有相同的数组键名,后一个值将不会覆盖原来的值,而是附加到后面。
例子:array_merge_recursive() 例子
复制代码
<?php
$ar1 = array("color" => array("favorite" => "red"), 5);
$ar2 = array(10, "color" => array("favorite" => "green", "blue"));
$result = array_merge_recursive($ar1, $ar2);
?>
$result 成为:
Array(
[color] => Array(
[favorite] => Array([0] => red[1] => green)
[0] => blue)
[0] => 5
[1] => 10
)
1. array_change_key_case () 函数
作用:返回字符串键名全为小写或大写的数组
语法:array_change_key_case ( array input [, int case] )
注释:将 input 数组中的所有键名改为全小写或大写。改变是根据后一个选项 case 参数来进行的。可以在这里用两个常量,CASE_UPPER 和 CASE_LOWER。默认值是 CASE_LOWER。本函数不改变数字索引。如果一个数组中的多个键名经过本函数后变成一样的话(例如 "keY" 和 "kEY"),最后一个值将覆盖其它的值。
例子 1. array_change_key_case() 例子
复制代码
<?php
$input_array = array("FirSt" => 1, "SecOnd" => 4);
print_r(array_change_key_case($input_array, CASE_UPPER));
?>
上例将输出:
Array([FIRST] => 1 [SECOND] => 4)
2. array_chunk () 函数
作用:将一个数组分割成多个
语法:array_chunk ( array input, int size [, bool preserve_keys] )
注释:array_chunk() 将一个数组分割成多个数组,其中每个数组的单元数目由 size 决定。最后一个数组的单元数目可能会少几个。得到的数组是一个多维数组中的单元,其索引从零开始。将可选参数 preserve_keys 设为 TRUE,可以使 PHP 保留输入数组中原来的键名。如果你指定了 FALSE,那每个结果数组将用从零开始的新数字索引。默认值是 FALSE。
例子:array_chunk() 例子
复制代码
<?php
$input_array = array('id'=>'a', 'name'=>'b', 'c', 'd', 'e');
print_r(array_chunk($input_array, 2));
print_r(array_chunk($input_array, 2, true));
?>
上例将输出:
Array( [0] => Array ( [0] => a [1] => b) [1] => Array ([0] => c [1] => d ) [2] => Array ( [0] => e ))
Array( [0] => Array ( [id] => a [name] => b) [1] => Array ([0] => c [1] => d ) [2] => Array ([2] => e ))
3. array_combine () 函数
作用:创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值
语法:array_combine ( array keys, array values )
注释:返回一个 array,用来自 keys 数组的值作为键名,来自 values 数组的值作为相应的值。如果两个数组的单元数不同或者数组为空时返回 FALSE。
例子:简单的 array_combine() 例子
复制代码
<?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)
4. array_count_values () 函数
作用:统计数组中所有的值出现的次数
语法:array_count_values ( array input )
注释:array_count_values() 返回一个数组,该数组用 input 数组中的值作为键名,该值在 input 数组中出现的次数作为值。
例子:array_count_values() 例子
复制代码
<?php
$array = array(1, "hello", 1, "world", "hello");
print_r(array_count_values ($array));
?>
上例将输出:
Array([1] => 2 [hello] => 2 [world] => 1)
5. array_fill () 函数
作用:用给定的值填充数组
语法:array_fill ( int start_index, int num, mixed value )
注释:array_fill() 用 value 参数的值将一个数组填充 num 个条目,键名由 start_index 参数指定的开始。注意 num 必须是一个大于零的数值,否则 PHP 会发出一条警告。
例子:
复制代码
<?php
$a = array('ccccc','bbbb');
$a = array_fill(5, 6, 'banana');
print_r($a);
?>
上例将输出:
Array([5] => banana [6] => banana [7] => banana [8] => banana [9] => banana [10] => banana)
6. array_ filter () 函数
作用:用回调函数过滤数组中的单元
语法:array_filter ( array input [, callback callback] )
注释:依次将 input 数组中的每个值传递到 callback 函数。如果 callback 函数返回 TRUE,则 input 数组的当前值会被包含在返回的结果数组中。数组的键名保留不变。如果没有提供 callback 函数,array_filter() 将删除 input 中所有等值为 FALSE 的条目。
例子1:
复制代码
<?php
function odd($var){
return($var % 2 == 1);
}
function even($var){
return($var % 2 == 0);
}
$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array(6, 7, 8, 9, 10, 11, 12);
echo "Odd :/n";
print_r(array_filter($array1, "odd"));
echo "Even:/n";
print_r(array_filter($array2, "even"));
?>
上例将输出:
Odd :
Array( [a] => 1[c] => 3[e] => 5)
Even:
Array([0] => 6[2] => 8[4] => 10 [6] => 12)
例子 2. array_filter() 无 callback
复制代码
<?php
$entry = array( 0 => 'foo',1 => false,2 => -1,3 => null,4 => '');
print_r(array_filter($entry));
?>
上例将输出:
Array([0] => foo [2] => -1)
7. array_ map () 函数
作用:将回调函数作用到给定数组的单元上
语法:array_map ( callback callback, array arr1 [, array ...] )
注释:array_map() 返回一个数组,该数组包含了 arr1 中的所有单元经过 callback 作用过之后的单元。callback 接受的参数数目应该和传递给 array_map() 函数的数组数目一致。
例子:例子 1. array_map() 例子
复制代码
<?php
function cube($n){
return($n * $n * $n);
}
$a = array(1, 2, 3, 4, 5);
$b = array_map("cube", $a);
print_r($b);
?>
这使得 $b 成为:
Array([0] => 1[1] => 8[2] => 27 [3] => 64 [4] => 125)
例子 2. array_map() - 使用更多的数组
复制代码
<?php
function show_Spanish($n, $m){
return("The number $n is called $m in Spanish");
}
function map_Spanish($n, $m){
return(array($n => $m));
}
$a = array(1, 2, 3, 4, 5);
$b = array("uno", "dos", "tres", "cuatro", "cinco");
$c = array_map("show_Spanish", $a, $b);
print_r($c);
$d = array_map("map_Spanish", $a , $b);
print_r($d);
?>
上例将输出:
// printout of $c
Array([0] => The number 1 is called uno in Spanish [1] => The number 2 is called dos in Spanish [2] => The number 3 is called tres in Spanish [3] => The number 4 is called cuatro in Spanish [4] => The number 5 is called cinco in Spanish)
// printout of $d
Array([0] => Array([1] => uno)[1] => Array([2] => dos)[2] => Array([3] => tres)[3] => Array([4] => cuatro)[4] => Array([5] => cinco))
通常使用了两个或更多数组时,它们的长度应该相同,因为回调函数是平行作用于相应的单元上的。如果数组的长度不同,则最短的一个将被用空的单元扩充。
本函数一个有趣的用法是构造一个数组的数组,这可以很容易的通过用 NULL 作为回调函数名来实现。
例子 3. 建立一个数组的数组
复制代码
<?php
$a = array(1, 2, 3, 4, 5);
$b = array("one", "two", "three", "four", "five");
$c = array("uno", "dos", "tres", "cuatro", "cinco");
$d = array_map(null, $a, $b, $c);
print_r($d);
?>
上例将输出:
Array([0] => Array([0] => 1[1] => one[2] => uno)[1] => Array([0] => 2[1] => two[2] => dos)[2] => Array([0] => 3[1] => three[2] => tres) [3] => Array([0] => 4[1] => four[2] => cuatro)[4] => Array([0] => 5[1] => five[2] => cinco))
8. array_ flip () 函数
作用:交换数组中的键和值
语法:array_flip ( array trans )
注释:array_flip() 返回一个反转后的 array,例如 trans 中的键名变成了值,而 trans 中的值成了键名。
注意 trans 中的值需要能够作为合法的键名,例如需要是 integer 或者 string。如果值的类型不对将发出一个警告,并且有问题的键/值对将不会反转。
如果同一个值出现了多次,则最后一个键名将作为它的值,所有其它的都丢失了。array_flip() 如果失败返回 FALSE。
例子:array_flip() 例子:冲突
复制代码
<?php
$trans = array("a" => 1, "b" => 1, "c" => 2);
$trans = array_flip($trans);
print_r($trans);
?>
现在 $trans 变成了:
Array([1] => b[2] => c)
9. array_key_exists () 函数
作用:检查给定的键名或索引是否存在于数组中
语法:array_key_exists ( mixed key, array search )
注释:array_key_exists() 在给定的 key 存在于数组中时返回 TRUE。key 可以是任何能作为数组索引的值。array_key_exists() 也可用于对象。
例子:
复制代码
<?php
$search_array = array('first' => null, 'second' => 4);
$str = array('first','second','cccc');
// returns true
array_key_exists('first', $search_array);
//return true
array_key_exists(1,$str);
?>
10. array_ keys () 函数
作用:返回数组中所有的键名
语法:array_keys ( array input [, mixed search_value [, bool strict]] )
注释:array_keys() 返回 input 数组中的数字或者字符串的键名。
如果指定了可选参数 search_value,则只返回该值的键名。否则 input 数组中的所有键名都会被返回。自 PHP 5 起,可以用 strict 参数来进行全等比较(===)。
例子:array_keys() 例子
复制代码
<?php
$array = array(0 => 100, "color" => "red");
print_r(array_keys($array));
$array = array("blue", "red", "green", "blue", "blue");
print_r(array_keys($array, "blue"));
$array = array("color" => array("blue", "red", "green"),
"size" => array("small", "medium", "large"));
print_r(array_keys($array));
?>
上例将输出:
Array([0] => 0 [1] => color)
Array([0] => 0 [1] => 3 [2] => 4)
Array([0] => color [1] => size)
11. array_ values () 函数
作用:返回数组中所有的值
语法:array_values ( array input )
注释:array_values() 返回 input 数组中所有的值并给其建立数字索引。
例子:array_values() 例子
复制代码
<?php
$array = array("size" => "XL", "color" => "gold");
$array2 = array("color" => array("blue", "red", "green"),
"size" => array("small", "medium", "large"));
print_r(array_values($array));
print_r(array_values($array2));
?>
上例将输出:
Array([0] => XL [1] => gold )
Array([0] => Array([0] => blue[1] => red[2] => green)
[1] => Array([0] => small[1] => medium[2] => large))
12. array_merge () 函数
作用:合并一个或多个数组
语法:array_merge ( array array1 [, array array2 [, array ...]] )
注释:array_merge() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。
例子:array_merge() 例子
复制代码
<?php
$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
$ar1 = array("color" => array("favorite" => "red"), 5);
$ar2 = array(10, "color" => array("favorite" => "green", "blue"));
$result2 = array_merge($ar1, $ar2);
print_r($result);
print_r($result2);
?>
上例将输出:
Array([color] => green [0] => 2 [1] => 4[2] => a [3] => b[shape] => trapezoid [4] => 4)
Array([color] => Array([favorite] => green [0] => blue)
[0] => 5
[1] => 10)
例子 2. 简单的 array_merge() 例子
复制代码
<?php
$array1 = array();
$array2 = array(1 => "data");
$result = array_merge($array1, $array2);
?>
别忘了数字键名将会被重新编号!
Array([0] => data)
如果你想完全保留原有数组并只想新的数组附加到后面,用 + 运算符:
复制代码
<?php
$array1 = array();
$array2 = array(1 => "data");
$result = $array1 + $array2;
?>
数字键名将被保留从而原来的关联保持不变。
Array([1] => data)
警告
array_merge() 的行为在 PHP 5 中被修改了。和 PHP 4 不同,array_merge() 现在只接受 array 类型的参数。不过可以用强制转换来合并其它类型。请看下面的例子。
例子 3. array_merge() PHP 5 例子
复制代码
<?php
$beginning = 'foo';
$end = array(1 => 'bar');
$result = array_merge((array)$beginning, (array)$end);
print_r($result);
?>
上例将输出:
Array([0] => foo [1] => bar)
13. array_merge_recursive () 函数
作用:递归地合并一个或多个数组
语法:array_merge_recursive ( array array1 [, array ...] )
注释:将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
如果输入的数组中有相同的字符串键名,则这些值会被合并到一个数组中去,这将递归下去,因此如果一个值本身是一个数组,本函数将按照相应的条目把它合并为另一个数组。然而,如果数组具有相同的数组键名,后一个值将不会覆盖原来的值,而是附加到后面。
例子:array_merge_recursive() 例子
复制代码
<?php
$ar1 = array("color" => array("favorite" => "red"), 5);
$ar2 = array(10, "color" => array("favorite" => "green", "blue"));
$result = array_merge_recursive($ar1, $ar2);
?>
$result 成为:
Array(
[color] => Array(
[favorite] => Array([0] => red[1] => green)
[0] => blue)
[0] => 5
[1] => 10
)
相关文章推荐
- 常用的php字符串函数的解析及例子说明
- 解析PHPExcel使用的常用说明以及把PHPExcel整合进CI框架的介绍
- 解析PHPExcel使用的常用说明以及把PHPExcel整合进CI框架的介绍
- Sqlserver常用函数例子说明
- Sqlserver常用函数例子说明
- Sqlserver常用函数例子说明
- 常用正则表达式例子及评注说明
- Oracle10g EM Console重新配置命令解析(10gR2--EMCA常用命令说明)
- Spring常用配置及解析类说明
- Sqlserver常用函数例子说明
- Sqlserver常用函数例子说明
- tuxedo错误解析和常用配置说明
- Linux crontab 定时任务格式解析与例子说明
- sql语句常用说明与解析
- Sqlserver常用函数例子说明
- 网站开发常用jQuery插件总结(六)关键词说明插件cluetip
- 使用libtidy解析html文档的小例子一个
- Poco库网络模块例子解析1-------字典查询
- 设计模式的使用原则和常用设计模式的说明
- PHP常用开发函数解析之数组篇[未完结]