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截取汉字乱码问题解决方法mb_substr函数的应用
Mar 30 PHP
PHP EOT定界符的使用详解
Sep 30 PHP
php读取txt文件组成SQL并插入数据库的代码(原创自Zjmainstay)
Jul 31 PHP
php查找指定目录下指定大小文件的方法
Nov 28 PHP
php筛选不存在的图片资源
Apr 28 PHP
PHP配置把错误日志以邮件方式发送方法(Windows系统)
Jun 23 PHP
php生成图片验证码的方法
Apr 15 PHP
thinkphp3.x中session方法的用法分析
May 20 PHP
Yii2使用表单上传文件的实例代码
Aug 03 PHP
使用vs code编辑调试php配置的方法
Jan 29 PHP
关于laravel-admin ueditor 集成并解决刷新的问题
Oct 21 PHP
windows系统php环境安装swoole具体步骤
Mar 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实现基于PDO的预处理示例
2017/03/28 PHP
PHP的反射机制实例详解
2017/03/29 PHP
thinkphp5 migrate数据库迁移工具
2018/02/20 PHP
PHP7 弃用功能
2021/03/09 PHP
jQuery操作select的实例代码
2012/06/14 Javascript
js替换字符串的所有示例代码
2013/07/23 Javascript
JavaScript中匿名、命名函数的性能测试
2014/09/04 Javascript
JavaScript插件化开发教程(六)
2015/02/01 Javascript
nodejs创建web服务器之hello world程序
2015/08/20 NodeJs
深入理解jQuery 事件处理
2016/06/14 Javascript
实例详解JavaScript中setTimeout函数的执行顺序
2017/07/12 Javascript
详解vue-cli项目中的proxyTable跨域问题小结
2018/02/09 Javascript
vuex 项目结构目录及一些简单配置介绍
2018/04/08 Javascript
nodejs dgram模块广播+组播的实现示例
2019/11/04 NodeJs
easyUI使用分页过滤器对数据进行分页操作实例分析
2020/06/01 Javascript
Vue+penlayers实现多边形绘制及展示
2020/12/24 Vue.js
vue element el-transfer增加拖拽功能
2021/01/15 Vue.js
对于Python中线程问题的简单讲解
2015/04/03 Python
python爱心表白 每天都是浪漫七夕!
2018/08/18 Python
Django执行源生mysql语句实现过程解析
2020/11/12 Python
python爬取微博评论的实例讲解
2021/01/15 Python
浅析HTML5中的 History 模式
2017/06/22 HTML / CSS
HTML5中外部浏览器唤起微信分享功能的代码
2020/09/15 HTML / CSS
Noon埃及:埃及在线购物
2019/11/26 全球购物
教育学习自我评价
2014/02/03 职场文书
上班玩手机检讨书
2014/02/17 职场文书
小学生中国梦演讲稿
2014/04/23 职场文书
物理学专业自荐信
2014/06/11 职场文书
美术专业自荐信
2014/07/07 职场文书
物价局领导班子四风问题整改措施
2014/10/26 职场文书
2014年监理工作总结范文
2014/11/17 职场文书
2014年化验员工作总结
2014/11/18 职场文书
2016大学生毕业实习心得体会
2016/01/23 职场文书
vue完美实现el-table列宽自适应
2021/05/08 Vue.js
Python 发送SMTP邮件的简单教程
2021/06/24 Python
CSS 实现Chrome标签栏的技巧
2021/08/04 HTML / CSS