数组合并我们可以使用array_merge()函数也可以使用array_combine()函数,我们先讲array_merge()函数
array_merge
array_merge — 合并一个或多个数组
语法
array array_merge ( array $array1
[, array2 $...
] )
参数 | 描述 |
---|---|
array1 | 必需。规定数组。 |
array2 | 可选。规定数组。 |
array_merge() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
注释:如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。
返回值-----返回结果数组
我们看几个例子,
键名为数字类型时
<?php
$beginning = 'foo' ;
$end = array( 1 => 'bar' );
$result = array_merge ((array) $beginning , (array) $end );
print_r ( $result );
?>
上例会输出:
Array ( [0] => foo [1] => bar )
当键名为字符串类型时
<?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 )
<?php
$array1 = array();
$array2 = array( 1 => "data" );
$result = array_merge ( $array1 , $array2 );
?>
别忘了数字键名将会被重新编号!
Array ( [0] => data )
array_combine
array_combine — 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值
语法
array array_combine ( array $keys
, array $values
)
参数 | 描述 |
---|---|
keys | 必需。键名数组。 |
values | 必需。键值数组。 |
返回一个 array ,用来自 keys
数组的值作为键名,来自 values
数组的值作为相应的值。
注释:两个参数必须有相同数目的元素。
返回值----返回合并的 array ,如果两个数组的单元数不同则返回 FALSE
。
让我们看几个例子
<?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 )