PHP处理数组常用函数汇总
发布:smiling 来源: PHP粉丝网 添加日期:2018-09-18 09:50:03 浏览: 评论:0
PHP中对数组的处理是最常用的必备技能之一。自己总结了一下几个最常用的处理数组的高级函数。
1. array_merge()
合并数组,将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面,最后返回一个数组。
关联数组:有相同的字符串键名时,则该键名后面的值将覆盖前一个值.
索引数组:后面的值将不会覆盖原来的值,而是附加到后面
array array_merge (array array1 array2…,arrayN)
例子:
- <?php
- $a = array("a","b","c");
- $b = array("1","2","3");
- $c = array_merge($a, $b);
- print_r($c);
- // 输出结果
- // Array ( [0] => a [1] => b [2] => c [3] => 1 [4] => 2 [5] => 3 )
- ?>
2. array_merge_recursive()
功能同array_merge(),只不过遇到相同值时处理方式不同.
关联数组:有相同的字符串键名时,则该键值变成一个数组,将相同键值放在一个数组里
例子:
- <?php
- $a = array("a" => "123", "b" => "yes");
- $b = array("c" => "no", "a" => "aaa");
- $d = array_merge_recursive($a, $b);
- print_r($d);
- // 输出结果
- // Array ( [a] => Array ( [0] => 123 [1] => aaa ) [b] => yes [c] => no )
- ?>
3. array_slice()
拆分索引数组,类似于substr()的用法, offset开始切,切length这么多个, 不设置length则是切到尾
array array_slice (array array, int offset[,int length])
例子:
- <?php
- $a = array("A", "B", "C", "D", "E", "F", "G");
- $b = array_slice($a, 3);
- print_r($b);
- // 输出
- // Array ( [0] => D [1] => E [2] => F [3] => G )
- ?>
4. array_multisort()
返回排序数组:
array_multisort(array1,sorting order,sorting type,array2,array3...)
这个函数功能很强大,有几个用法:
直接进行排序
- <?php
- $a1=array("Dog","Cat");
- $a2=array("Fido","Missy");
- array_multisort($a1,$a2);
- print_r($a1);
- print_r($a2);
- // Array ( [0] => Cat [1] => Dog ) Array ( [0] => Missy [1] => Fido )
- ?>
设置排序方式进行排序
- <?php
- /* 设置倒序正序 */
- $a1=array("Dog","Dog","Cat");
- $a2=array("Pluto","Fido","Missy");
- array_multisort($a1,SORT_ASC,$a2,SORT_DESC);
- print_r($a1);
- print_r($a2);
- // Array ( [0] => Cat [1] => Dog [2] => Dog ) Array ( [0] => Missy [1] => Pluto [2] => Fido )
- /* 设置倒序正序,排序标准 */
- $a1=array(1,30,15,7,25);
- $a2=array(4,30,20,41,66);
- $num=array_merge($a1,$a2);
- array_multisort($num,SORT_DESC,SORT_NUMERIC);
- print_r($num);
- // Array ( [0] => 66 [1] => 41 [2] => 30 [3] => 30 [4] => 25 [5] => 20 [6] => 15 [7] => 7 [8] => 4 [9] => 1 )
- ?>
二维数组根据某键值进行排序
- <?php
- /* time为要排序字段, SORT_DESC降序排列, $all要排序的数组 */
- foreach ($all as $k => $v)
- {
- $time[] = $v['time'];
- }
- array_multisort($time, SORT_DESC, $all);
- ?>
5. array_intersect()和array_intersect_assoc()
array_intersect()返回一个保留了键的数组,这个数组只由第一个数组中出现的且在其他每个输入数组中都出现的值组成。
array_intersect_assoc()返回一个在第一个数组中出现,且在所有其他输入数组中也出现的键/值对组成的数组。
应用场景: 共同好友推荐
- <?php
- $a = array("Kevin","Mike","Jone");
- $b = array("Jack","Kevin","Anna");
- $c = array("Steven","Json","Kevin");
- $output = array_intersect($a, $b, $c);
- print_r($output);
- //phpfensi.com
- // output
- // Array ( [0] => Kevin )
- ?>
Tags: 数组 函数 常用
相关文章
- ·PHP中数组定义的几种方法(2013-11-13)
- ·php学习笔记 [预定义数组(超全局数组)](2013-11-13)
- ·php session 预定义数组(2013-11-13)
- ·PHP 数组教程 定义数组(2013-11-13)
- ·我要如何在HTML中建立<form>数组?(2013-11-27)
- ·php 读取多维数组方法(2013-11-28)
- ·删除数组与二维数组值的php代码(2013-11-29)
- ·php 数组之删除空数组程序(2013-11-30)
- ·php删除数组中的空值或指定值操作(2013-11-30)
- ·PHP数组传递给JavaScript以及json_encode的gbk中文乱码(2013-12-02)
- ·php对数组元素去重复值(2013-12-03)
- ·php数组提示Notice: Undefined offset解决办法(2013-12-04)
- ·解决php array数组生成xml文件汉字编码问题(2013-12-07)
- ·php中向数组中插入一元素程序代码(2014-01-03)
- ·php删除数组元素几种方法(2014-01-03)
- ·php中count 多维数组长度统计实现方法(2014-01-03)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)