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 相关文章推荐
JAVA/JSP学习系列之六
Oct 09 PHP
弄了个检测传输的参数是否为数字的Function
Dec 06 PHP
PHP 自定义错误处理函数trigger_error()
Mar 26 PHP
php模拟ping命令(php exec函数的使用方法)
Oct 25 PHP
PHP 与 UTF-8 的最佳实践详细介绍
Jan 04 PHP
PHP实现限制IP访问的方法
Apr 20 PHP
php + nginx项目中的权限详解
May 23 PHP
使用一个for循环将N*N的二维数组的所有值置1实现方法
May 29 PHP
实例讲解YII2中多表关联的使用方法
Jul 21 PHP
PHP的mysqli_sqlstate()函数讲解
Jan 23 PHP
PHP通过GD库实现验证码功能示例
Feb 23 PHP
PHP实现提取多维数组指定一列的方法总结
Dec 04 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_Flame(Version:Progress)的原代码
2006/10/09 PHP
php使用Smarty的相关注意事项及访问变量的几种方式
2011/12/08 PHP
PHP中Array相关函数简介
2016/07/03 PHP
PHP 输出缓冲控制(Output Control)详解
2016/08/25 PHP
laravel Validator ajax返回错误信息的方法
2019/09/29 PHP
Laravel框架控制器的request与response用法示例
2019/09/30 PHP
ThinkPHP5 框架引入 Go AOP,PHP AOP编程项目详解
2020/05/12 PHP
关于 文本框默认值 的操作js代码
2012/01/12 Javascript
js加入收藏夹代码(兼容ie/ff/op)
2014/05/16 Javascript
BootStrap的JS插件之轮播效果案例详解
2016/05/16 Javascript
JavaScript中Array的实用操作技巧分享
2016/09/11 Javascript
vue-axios使用详解
2017/05/10 Javascript
记React connect的几种写法(小结)
2018/09/18 Javascript
AngularJs返回前一页面时刷新一次前面页面的方法
2018/10/09 Javascript
vscode下vue项目中eslint的使用方法
2019/01/13 Javascript
微信小程序和H5页面间相互跳转代码实例
2019/09/19 Javascript
原生js实现日期选择插件
2020/05/21 Javascript
Python运用于数据分析的简单教程
2015/03/27 Python
浅谈django中的认证与登录
2016/10/31 Python
通过python将大量文件按修改时间分类的方法
2018/10/17 Python
python super的使用方法及实例详解
2019/09/25 Python
使用pytorch 筛选出一定范围的值
2020/06/28 Python
matplotlib自定义鼠标光标坐标格式的实现
2021/01/08 Python
加拿大最大的五金、家居装修和园艺产品商店:RONA
2017/01/27 全球购物
从当地商店送来的杂货:Instacart
2018/08/19 全球购物
商务英语专业求职信范文
2014/01/28 职场文书
电子装配专业毕业生求职信
2014/04/23 职场文书
食品流通安全承诺书
2014/05/22 职场文书
幼儿园清明节活动总结
2014/07/04 职场文书
防灾减灾活动总结
2014/08/30 职场文书
在职人员跳槽求职信
2015/03/20 职场文书
2015年学校办公室工作总结
2015/05/26 职场文书
火烧圆明园观后感
2015/06/03 职场文书
2015年音乐教研组工作总结
2015/07/22 职场文书
2019年大学推荐信
2019/06/24 职场文书
创业开店,这样方式更合理
2019/08/26 职场文书