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邮件专题
Oct 09 PHP
php调用mysql存储过程
Feb 14 PHP
动易数据转成dedecms的php程序
Apr 07 PHP
CodeIgniter使用phpcms模板引擎
Nov 12 PHP
php实现文件下载简单示例(代码实现文件下载)
Mar 10 PHP
PHP+Mysql+Ajax+JS实现省市区三级联动
May 23 PHP
thinkphp循环结构用法实例
Nov 24 PHP
PHP基于工厂模式实现的计算器实例
Jul 16 PHP
PHP缓冲区用法总结
Feb 14 PHP
PHP命名空间和自动加载类
Apr 03 PHP
PHP调用Mailgun发送邮件的方法
May 04 PHP
PHP接入微信H5支付的方法示例
Oct 28 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
安装APACHE
2007/01/15 PHP
PHP fopen 读取带中文URL地址的一点见解
2012/09/25 PHP
php函数实现判断是否移动端访问
2015/03/03 PHP
拖动table标题实现改变td的大小(css+js代码)
2013/04/16 Javascript
js强制把网址设为默认首页
2015/09/29 Javascript
jQuery grep()方法详解及实例代码
2016/10/30 Javascript
通过Ajax使用FormData对象无刷新上传文件方法
2016/12/08 Javascript
利用Chrome DevTools直接调试Node.js和JavaScript的方法详解(并行)
2017/02/16 Javascript
jquery实现放大镜简洁代码(推荐)
2017/06/08 jQuery
JS基于封装函数实现的表格分页完整示例
2018/06/26 Javascript
vue单页缓存存在的问题及解决方案(小结)
2018/09/25 Javascript
小程序实现左右来回滚动字幕效果
2018/12/28 Javascript
详解js实时获取并显示当前时间的方法
2019/05/10 Javascript
详解Vue中CSS样式穿透问题
2019/09/12 Javascript
详解vue页面首次加载缓慢原因及解决方案
2019/11/06 Javascript
Vue-resource安装过程及使用方法解析
2020/07/21 Javascript
Vue实现开关按钮拖拽效果
2020/09/22 Javascript
vue从后台渲染文章列表以及根据id跳转文章详情详解
2020/12/14 Vue.js
Python中atexit模块的基本使用示例
2015/07/08 Python
Python实现基本数据结构中栈的操作示例
2017/12/04 Python
使用python生成目录树
2018/03/29 Python
Python如何爬取b站热门视频并导入Excel
2020/08/10 Python
美国珠宝网上商店:Jeulia
2016/09/01 全球购物
西班牙购买行李箱和背包网站:Maletas Greenwich
2019/10/08 全球购物
比较基础的php面试题及答案-填空题
2014/04/26 面试题
体育专业个人的求职信范文
2013/09/21 职场文书
课程设计心得体会
2013/12/28 职场文书
北体毕业生求职信
2014/02/28 职场文书
大学本科生职业生涯规划书范文
2014/09/14 职场文书
校园广播稿精选
2014/10/01 职场文书
财务会计求职信范文
2015/03/20 职场文书
2015年教师见习期工作总结
2015/05/20 职场文书
校长新学期致辞
2015/07/30 职场文书
浪漫婚礼主持词开场白
2015/11/24 职场文书
CSS3通过var()和calc()函数实现动画特效
2021/03/30 HTML / CSS
Beekeeper Studio开源数据库管理工具比Navicat更炫酷
2022/06/21 数据库