本文实例讲述了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数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》、《php字符串(string)用法总结》、《php常用函数与技巧总结》、《PHP错误与异常处理方法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》及《PHP数学运算技巧总结》
希望本文所述对大家PHP程序设计有所帮助。
PHP,数组,函数
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。