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 相关文章推荐
fleaphp crud操作之findByField函数的使用方法
Apr 23 PHP
PHP垃圾回收机制引用计数器概念分析
Jun 24 PHP
如何使用PHP批量去除文件UTF8 BOM信息
Aug 05 PHP
使用php实现截取指定长度
Aug 06 PHP
yii上传文件或图片实例
Apr 01 PHP
php将文本文件转换csv输出的方法
Dec 31 PHP
php堆排序实现原理与应用方法
Jan 03 PHP
PHP页面转UTF-8中文编码乱码的解决办法
Oct 20 PHP
PHP程序员的技术成长规划
Mar 25 PHP
PHP实现mysqli批量执行多条语句的方法示例
Jul 22 PHP
Laravel 5.4向IoC容器中添加自定义类的方法示例
Aug 15 PHP
Laravel 5+ .env环境配置文件详解
Apr 06 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
PHP新手上路(六)
2006/10/09 PHP
小偷PHP+Html+缓存
2006/11/25 PHP
Smarty结合Ajax实现无刷新留言本实例
2007/01/02 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
JS 遮照层实现代码
2010/03/31 Javascript
利用js实现选项卡的特别效果的实例
2013/03/03 Javascript
.net,js捕捉文本框回车键事件的小例子(兼容多浏览器)
2013/03/11 Javascript
JavaScript保留两位小数的2个自定义函数
2014/05/05 Javascript
nodejs中使用monk访问mongodb
2014/07/06 NodeJs
jQuery插件MixItUp实现动画过滤和排序
2015/04/12 Javascript
实例讲解js验证表单项是否为空的方法
2016/01/09 Javascript
jQuery实用小技巧_输入框文字获取和失去焦点的简单实例
2016/08/25 Javascript
js判断价格,必须为数字且不能为负数的实现方法
2016/10/07 Javascript
AngularJS定时器的使用与移除操作方法【interval与timeout】
2016/12/14 Javascript
使用vue.js写一个tab选项卡效果
2017/03/25 Javascript
NodeJs模拟登陆正方教务
2017/04/28 NodeJs
input file样式修改以及图片预览删除功能详细概括(推荐)
2017/08/17 Javascript
详解http访问解析流程原理
2017/10/18 Javascript
解决layui 表单元素radio不显示渲染的问题
2019/09/04 Javascript
使用p5.js临摹动态图片
2019/11/04 Javascript
JS实现简单打字测试
2020/06/24 Javascript
使用优化器来提升Python程序的执行效率的教程
2015/04/02 Python
python urllib爬取百度云连接的实例代码
2017/06/19 Python
完美解决python中ndarray 默认用科学计数法显示的问题
2018/07/14 Python
对pandas读取中文unicode的csv和添加行标题的方法详解
2018/12/12 Python
详解Python解决抓取内容乱码问题(decode和encode解码)
2019/03/29 Python
python模拟菜刀反弹shell绕过限制【推荐】
2019/06/25 Python
python动态进度条的实现代码
2019/07/03 Python
matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例
2020/04/22 Python
HTML5安全介绍之内容安全策略(CSP)简介
2012/07/10 HTML / CSS
耐克奥地利官网:Nike奥地利
2019/08/16 全球购物
2015年综治宣传月活动总结
2015/03/25 职场文书
工程部岗位职责范本
2015/04/11 职场文书
2015年化验室工作总结
2015/04/23 职场文书
大学同学聚会感言
2015/07/30 职场文书
2019年房屋委托租赁合同范本(通用版)!
2019/07/17 职场文书