php数组合并排序

简介:

例子:

 
  1. <?php 
  2. $a=array('a','b','c'); 
  3. $b=array('d','e','f'); 
  4. $c=array_combine($a,$b); 
  5. foreach($c as $k=>$value){ 
  6.     //echo $k.'<br />'; 
  7.     $d[]=$k.$value
  8.  
  9. $arr=array(1,5,3); 
  10. $arr01=array_combine($arr,$d);//注意每一个元素都不能为空,如果两个数组的元素个数不同,则该函数返回 false 
  11. print_r($arr01); 
  12.  
  13.  
  14. ksort($arr01);      //按索引正序排序  
  15. print_r($arr01); 
  16. ?> 

结果:

Array ( [1] => ad [5] => be [3] => cf )

Array ( [1] => ad [3] => cf [5] => be )

 


 

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内置函数 ,函数括号中的前一个数组的值为新数组的索引,后一个参数的值为新数组的值




      本文转自许琴 51CTO博客,原文链接:http://blog.51cto.com/xuqin/952493,如需转载请自行联系原作者





相关文章
|
1月前
|
存储 监控 算法
关于员工上网监控系统中 PHP 关联数组算法的学术解析
在当代企业管理中,员工上网监控系统是维护信息安全和提升工作效率的关键工具。PHP 中的关联数组凭借其灵活的键值对存储方式,在记录员工网络活动、管理访问规则及分析上网行为等方面发挥重要作用。通过关联数组,系统能高效记录每位员工的上网历史,设定网站访问权限,并统计不同类型的网站访问频率,帮助企业洞察员工上网模式,发现潜在问题并采取相应管理措施,从而保障信息安全和提高工作效率。
39 7
|
5月前
|
存储 SQL 数据处理
PHP中如何高效地处理大规模数据的排序?
在PHP中处理大规模数据排序时,选择合适的方法至关重要。对于内存内可以处理的数据,可以直接使用PHP内置排序函数;对于超出内存限制的数据,可以考虑分块处理、外部排序或利用数据库的排序功能。根据具体应用场景和数据规模,选择最佳的排序策略,确保排序操作高效且稳定。
60 2
|
5月前
|
算法 搜索推荐 Java
05 一文解决PHP数组操作
路老师带你深入PHP世界,从数组的基础知识讲起,包括数组的创建、赋值、类型(数字索引数组与关联数组)、多维数组,以及常用数组函数如遍历、统计、查询、添加、删除重复元素和排序等。实例讲解,轻松上手。下期预告:PHP面向对象。
67 2
|
5月前
|
存储 缓存 搜索推荐
优化PHP数组性能
优化PHP数组性能
93 8
|
5月前
|
存储 数据处理 PHP
深入浅出PHP编程之数组操作技巧
【10月更文挑战第30天】在PHP编程的海洋里,数组是一艘承载着数据结构的小船,掌握其操控之道,能让开发者在编码的旅程中乘风破浪。本文将带你领略数组的强大功能,从基础使用到高级应用,一步步揭开数组操作的神秘面纱。准备好你的航海装备,让我们启航吧!
69 4
|
7月前
|
存储 PHP
PHP编程中的数组操作技巧
【9月更文挑战第28天】在PHP编程中,数组是一种基础且强大的数据结构,它可以存储多个值,并且允许我们使用键来访问这些值。本文将介绍一些实用的PHP数组操作技巧,包括创建数组、遍历数组、排序数组和合并数组等。通过掌握这些技巧,你将能够更高效地处理数据和解决实际问题。
|
7月前
|
存储 API PHP
php学习笔记-php数组的创建和使用,数组常用函数-day03
关于PHP数组的创建、使用以及常用函数的详细学习笔记。
php学习笔记-php数组的创建和使用,数组常用函数-day03
|
7月前
|
存储 数据处理 PHP
深入理解PHP中的数组
【9月更文挑战第3天】在PHP编程中,数组扮演着不可或缺的角色。它们不仅提供了一种灵活的方式来存储和操作数据,还极大地丰富了开发者处理复杂信息结构的能力。本文将带你深入了解PHP数组的基础知识、高级特性以及如何高效地利用数组来简化代码逻辑,提升开发效率。
|
8月前
|
测试技术 PHP 开发者
PHP中的数组遍历技巧与性能优化
【8月更文挑战第31天】在PHP编程中,数组是最常用的数据结构之一。掌握数组的遍历技巧不仅能提高代码的可读性,还能在一定程度上提升程序的运行效率。本文将介绍几种常见的数组遍历方法,并通过实际代码示例对比它们的性能差异,帮助开发者在编写PHP代码时做出更优的选择。
|
8月前
|
存储 数据处理 PHP
探索PHP中的数组操作技巧
【8月更文挑战第30天】在PHP编程的世界中,数组是数据存储和操作的核心。掌握数组的各种操作,可以大幅提高代码的效率和可读性。本文将带你深入理解PHP数组的创建、遍历、排序以及多维数组的使用,让你在处理复杂数据时更加得心应手。