教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 php数组合并实例学习

php数组合并实例学习

发布时间:2015-01-05   编辑:jiaochengji.com
数组在php的各种程序中使用很多。<br /> 数组的一些常见操作像split/explode,join/implode,排序(sort,asort,ksort,arsort),两数组合并(array_combine),键值翻转(array_flip),当

数组在php的各种程序中使用很多。
数组的一些常见操作像split/explode,join/implode,排序(sort,asort,ksort,arsort),两数组合并(array_combine),键值翻转(array_flip),当然还有比较复杂的数组合并。
数组合并至少有4种形式。
1.第一种php数组合并方式(使用[]合并)
 

复制代码 代码如下:

$a = array(1=>'a',2=>'b',3=>'c');
$b = array(1=>'d',2=>'e',3=>'f');

foreach($b as $v)
{
$a[] = $v;
}
var_export($a);
 

得到

array (
1 => 'a',
2 => 'b',
3 => 'c',
4 => 'd',
5 => 'e',
6 => 'f',
)
这种方式的数组合并,新增元素的键值是在原来数字键值之上增加。
如果原来的键值不是数字的,那么新增元素的键值将从0开始。

2.第二种数组合并方式(使用array_unshift合并)
 

复制代码 代码如下:

$a = array(1=>'a',2=>'b',3=>'c');
$b = array(1=>'d',2=>'e',3=>'f');

foreach($b as $v)
{
array_unshift($a,$v);
}
var_export($a);
 

得到
array (
0 => 'f',
1 => 'e',
2 => 'd',
3 => 'a',
4 => 'b',
5 => 'c',
)
可以看到,使用array_unshift方式添加元素,每次都会在数组头部新增元素,并且这些元素的键值总是从0开始,整个数组的键将重新从0开始计算。

3.使用array_merge合并php数组
 

复制代码 代码如下:
$a = array(1=>'a',2=>'b',3=>'c');
$b = array(1=>'d',2=>'e',3=>'f');
$a = array_merge($a,$b);
var_export($a);
 

运算结果是
array (
0 => 'a',
1 => 'b',
2 => 'c',
3 => 'd',
4 => 'e',
5 => 'f',
)
可以看到数组的键也被从0开始重新计算了。

4.使用+合并php数组
 

复制代码 代码如下:
$a = array(1=>'a',2=>'b',3=>'c');
$b = array(1=>'d',2=>'e',3=>'f');
$a = $a+$b; // $a += $b;
var_export($a);
 

得到了令人惊讶的结果
array (
1 => 'a',
2 => 'b',
3 => 'c',
)
数组$b被忽略了。我们可以看到,如果数组$b中有和$a重复键值的元素,那么这些元素将被忽略。换言之:保留键值,如果有重复,以第一个数组中的键为准。

5.php数组合并两个数组(一个数组做键名,另一个做值)
有两个数组: $arry_a,$arry_b
合并为一个新数组:$arry_ab,要求$arry_a中的值为新数组的键名,$arry_b中的值为新数组相对应的值.
$array_ab=array_combine($arry_a,$array_b);
这是数组的PHP内置函数 ,函数括号中的前一个数组的值为新数组的索引,后一个参数的值为新数组的值。

您可能感兴趣的文章:
php数组合并与拆分示例
通过实例学习php合并数组的三个函数
php数组合并、追加与连接的方法(array_merge()、array_combine()函数)
php数组合并实例学习
【PHP学习】多种方法实现合并数组
php生成数组与php全组合算法
PHP二维数组去重的实例解析
php数组排序方法大全(脚本学堂整理奉献)
php合并数组的函数array_merge应用实例
php数组随机排序示例

关键词: 数组合并   
[关闭]
~ ~