深入学习PHP数组函数使用方法
创始人
2024-06-11 19:40:18
0

PHP数组函数还是比较常用的,于是我研究了一下PHP数组函数,在这里拿出来和大家分享一下,希望对大家有用。今天我们学习PHP数组函数,数组是一种数据类型,它的使用频率相当高,学会处理数组会让你做网站时得心应手。

#T#举个例子:你的网站数据库里存有大里的文章,现在你想在一个页面上显示20条娱乐新闻的标题,这20条标题从数据库里取出来后你想用20个变量表示吗?我想你不会这么笨吧,那么用什么变量能完全接收这20条数据呢?这就要用到数组变量。什么是数组呢?数组实际上是一个数据集合,相当于是一个数据容器,很多数据存放在里面,我们可以按一定方法存进去或取出来,还可以对它里面的数据进行排序等各种操作,还可以检查里面有没有我们想要的数据等等。

1.array_multisort()对多个数组或多维数组进行排序可以用来一次对多个数组进行排序或者根据某一维对多维数组进行排序。排序时保留原有的键名关联,实现的功能和SQL中的ORDERBY差不多。

  1. $ar1=array("10",100,100,"a");  
  2. $ar2=array(1,3,"2",1);  
  3. array_multisort($ar1,$ar2);  
  4. ?> 
  5. //返回结果(保持了原来数组的关联性)  
  6. $ar1=Array([0]=>10[1]=>a[2]=>100[3]=>100)  
  7. $ar2=Array([0]=>1[1]=>1[2]=>2[3]=>3)  
  8.  
  9. //实现学生成绩排名  
  10. $grade=array("score"=>array(70,95,70.0,60,"70"),  
  11. "name"=>array("ZhangSan","LiSi","WangWu",  
  12. "ZhaoLiu","LiuQi"));  
  13. array_multisort($grade["score"],SORT_NUMERIC,SORT_DESC,  
  14. //将分数作为数值,由高到低排序  
  15. $grade["name"],SORT_STRING,SORT_ASC);  
  16. //将名字作为字符串,由小到大排序  
  17. ?> 
  18. //输出结果  
  19.  
  20. array(  
  21. 'score'=> 
  22. array(  
  23. 0=>95,  
  24. 1=>'70',  
  25. 2=>70,  
  26. 3=>70,  
  27. 4=>60,  
  28. ),  
  29. 'name'=> 
  30. array(  
  31. 0=>'LiSi',  
  32. 1=>'LiuQi',  
  33. 2=>'WangWu',  
  34. 3=>'ZhangSan',  
  35. 4=>'ZhaoLiu',  
  36. ),  
  37. )  

2.array_rand()和shuffle(),一个是从数组中随机的取出一个或多个值,另一个是将数组中的值的顺序打乱,然后再可以从中取出值,它们都实现从数组中随机取出数据的功能,可以用于实现诸如抽奖之类的功能。

3.array_reduce()将回调函数function迭代地作用到input数组中的每一个单元中,从而将数组简化为单一的值。如果指定了可选参数initial,该参数将被当成是数组中的***个值来处理,或者如果数组为空的话就作为最终返回值。

  1.  
  2. functionrsum($v,$w){  
  3. $v+=$w;  
  4. return$v;  
  5. }  
  6.  
  7. functionrmul($v,$w){  
  8. $v*=$w;  
  9. return$v;  
  10. }  
  11.  
  12. $a=array(1,2,3,4,5);  
  13. $x=array();  
  14. //实现array_sum()功能  
  15. $b=array_reduce($a,"rsum");//115=1+2+3+4+5  
  16.  
  17. $c=array_reduce($a,"rmul",10);//11200=1*2*3*4*5*10  
  18. $d=array_reduce($x,"rsum",1);//1  
  19. ?> 

这个函数可以实现求一个数组的和(积,差等功能)

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...