PHP数组常用函数实例小结


Posted in PHP onAugust 20, 2018

本文实例讲述了PHP数组常用函数。分享给大家供大家参考,具体如下:

统计数组元素的个数和唯一性

1.count() 函数的作用是计算数组中的元素数目或对象中属性个数。对于数组,返回其元素的个数,对于其他值返回1.

int count(mixed var[,int mode])

第一个参数是必须的,传人个计算的数组或对象。第二个参数是可选,规定函数的模式是否递归地计算多维数组中数组的元素个数,可能的值是0 或1,0为默认值,不检测多维 数组,为 1则检测多维数组

示例:

$a=array("a","b","c","d");
echo count($a);//输出个数4
$b=array("a"=>array(1,2,3),"b"=>array(4,5,6));
echo count($b,1);//输出 8
echo count($b);//输出 2

2.array_count_values() 函数用于统计数组中所有值出现的次数,该函数只有一个参数

array array_count_values(array input)

参数规定输入一个数组,返回一个数组,其元素的键名是原数组的值,键值是该值在原数组中出现的次数

$array=array(1,"a",1,"b","a");
$newarray=array_count_values($array);
print_r($newarray);//输出array([1]=>2 [a]=>2 [b]=>1)

3.array_unique()函数用于删除数组中重复的值,并返回没有重复值的新数组

array array_unique(array array)

参数需要接受一个数组,当数组中几个元素的值相等时,只保留第一个元素,其他元素被删除,并且返回的新数组中键名不变,array_unique()先将值作为字符串排序,然后对每个值只保留第一遇到的键名,接着忽略所有后面的键名

示例:

$a=array("a"=>1,"b"=>2,"c"=>1);
print_r(array_unique($a));//输出 array([a]=>1 [b]=>2)

4.array_filter() 函数用回调函数过滤数组中元素,返回按用户自定义函数过滤后的数组

array array_filter(array input [,callback callback])

参数:第一参数是必选项,要求输入一个被过滤的数组,第二参数可选,将用户自定义的函数名以字符串形式传入,如果自定义过滤函数返回true,则被操作的数组的当前值就会被包含在返回的结果数组中,并将结果组成一个新数组,如果原数组是一个关联数组,则键名保持不变。

function myFun($var){
 if($var % 2==0){
 return true;
 }
}
$array= array("a"=>1,"b"=>2,"c"=>3,"d"=>4);
print_r($array,"myFun");//输出 array([b]=>2 [d]=>4)

5.array_walk()函数对数组中的每个元素应用回调函数处理,如果成功返回true,否则返回false

bool array_walk( array &array,callback funcname [,mixed userdata])

第一个参数是必须,要求输入一个被指定的回调函数处理的数组,第二个参数传人用户定义的回调函数,用于操作传人第一参数的数组

示例:

function myFunc1($value,$key){
 echo "key=$key value=$value"
}
$a=array("a"=>"lin1","b"=>"lin2","c"=>"lin3");
array_walk($a,"myFunc1");
function myFunc2($value,$key,$str){
 echo "$key $p $value";
}
array_walk($a,"myFunc2");
function myFunc3($value,$key){
 $value="lin.su";
}
array_walk($a,"myFunc3");
print_r($a);//$a 是一个引用数组

6.array_map()函数可以处理多个数组,将回调函数作用到给定数组的元素上,返回用户自定义函数作用后数组。

array array_map(callback callback,array arr1[,arry ....]

示例:

function myFunc($v1,$v2){
 if($v1==$v2){
  return "same";
 }
 return "different";
}
$a=array(1,2,3);
$b=array(1,4,3);
print_r(array_map("myFunc",$a,$b));//输出 array([0]=>same [1]=>difference [2]=>same)
print_r(array_map(null,$a,$b));

输出:

array(
[0]=>array([0]=>1 [1]=>2 [2]=>3)
[1]=>array([0]=>1 [1]=>2 [2]=>3)
)

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP调用Twitter的RSS的实现代码
Mar 10 PHP
php时区转换转换函数
Jan 07 PHP
两级联动select刷新后其值保持不变的实现方法
Jan 27 PHP
php使用MySQL保存session会话的方法
Jun 26 PHP
PHP6新特性分析
Mar 03 PHP
Zend Framework实现多服务器共享SESSION数据的方法
Mar 22 PHP
thinkPHP3.2简单实现文件上传的方法
May 16 PHP
php5.3后静态绑定用法详解
Nov 11 PHP
PHP+iframe图片上传实现即时刷新效果
Nov 18 PHP
Laravel实现定时任务的示例代码
Aug 10 PHP
搭建自己的PHP MVC框架详解
Aug 16 PHP
PHP使用ActiveMQ实现消息队列的方法详解
May 31 PHP
PHP预定义超全局数组变量小结
Aug 20 #PHP
Yii2语言国际化的配置教程
Aug 19 #PHP
Ubuntu中支持PHP5与PHP7双版本的简单实现
Aug 19 #PHP
Laravel框架执行原生SQL语句及使用paginate分页的方法
Aug 17 #PHP
Laravel框架实现修改登录和注册接口数据返回格式的方法
Aug 17 #PHP
ThinkPHP5+Layui实现图片上传加预览功能
Aug 17 #PHP
PHP实现类似题库抽题效果
Aug 16 #PHP
You might like
在DC的漫画和电影中,蝙蝠侠的宿敌,小丑的真名是什么?
2020/04/09 欧美动漫
PHP+Mysql基于事务处理实现转账功能的方法
2015/07/08 PHP
php实现网站顶踩功能的完整前端代码
2015/07/19 PHP
php 使用redis锁限制并发访问类示例
2016/11/02 PHP
Laravel如何实现自动加载类
2019/10/14 PHP
Javascript remove 自定义数组删除方法
2009/10/20 Javascript
javascript新建标签,判断键盘输入,以及判断焦点(示例代码)
2013/11/25 Javascript
浅析offsetLeft,Left,clientLeft之间的区别
2013/11/30 Javascript
jQuery+ajax中getJSON() 用法实例
2014/12/22 Javascript
javascript数组随机排序实例分析
2015/07/22 Javascript
JavaScript实现图片轮播的方法
2015/07/31 Javascript
jQuery编程中的一些核心方法简介
2015/08/14 Javascript
javascript函数中的3个高级技巧
2016/09/22 Javascript
JS作用域闭包、预解释和this关键字综合实例解析
2016/12/16 Javascript
js+html5实现侧滑页面效果
2017/07/15 Javascript
JS 中document.write()的用法和清空的原因浅析
2017/12/04 Javascript
微信小程序如何调用json数据接口并解析
2019/06/29 Javascript
使用xampp将angular项目运行在web服务器的教程
2019/09/16 Javascript
js 递归json树实现根据子id查父id的方法分析
2019/11/08 Javascript
javascript 内存模型实例详解
2020/04/18 Javascript
[46:42]DOTA2-DPC中国联赛正赛 Aster vs Magma BO3 第二场 3月5日
2021/03/11 DOTA
Python中在for循环中嵌套使用if和else语句的技巧
2016/06/20 Python
Python基础之函数的定义与使用示例
2019/03/23 Python
基于python实现简单网页服务器代码实例
2020/09/14 Python
北美三大旅游网站之一:Travelocity加拿大
2016/08/20 全球购物
迟到检讨书400字
2014/01/13 职场文书
高三语文教学反思
2014/01/15 职场文书
优秀研究生主要事迹
2014/06/03 职场文书
环保口号大全
2014/06/12 职场文书
优秀共产党员演讲稿
2014/09/04 职场文书
2014年平安创建工作总结
2014/11/24 职场文书
优秀护士事迹材料
2014/12/25 职场文书
2016年清明节期间群众祭祀活动工作总结
2016/04/01 职场文书
MongoDB balancer的使用详解
2021/04/30 MongoDB
PostgreSQL 插入INSERT、删除DELETE、更新UPDATE、事务transaction
2022/04/12 PostgreSQL
python中filter,map,reduce的作用
2022/06/10 Python