经验之谈PHP数组函数总结
创始人
2024-06-11 19:41:21
0

这几天在网上看了很多有关PHP数组函数的相关知识,觉得孔老夫子的“温故而知新”果然不假,这里是我总结的一些经验,希望对大家有帮助。

#T#PHP中的数组实际上是一个有序图,图是一种把values映射到keys的类型。此类型在很多方面做了优化,因此你可以把它当成真正的数组来使用,或列表(矢量),散列表(是图的一种实现),字典,集合,栈,队列以及更多可能性。因为可以用另一个PHP数组作为值,也可以很容易地模拟树。解释这些结构超出了本手册的范围,但对于每种结构你至少会发现一个例子。要得到这些结构的更多信息,我们建议你参考有关此广阔主题的外部著作,以下特记下我的一些PHP数组函数体会:

1.将一个1维数组分割成2维数组array_chunk()

  1. $input_array=array('a','b','c','d','e');  
  2. print_r(array_chunk($input_array,2)); 

2.比较2个数组,array_diff_assoc()或者array_diff(),如果返回值为空,表示两个数组相同,否则就不同。

3.用一个函数来过滤数组中的数值array_filter()

  1. functionodd($var){  
  2. return($var%2==1);  
  3. }  
  4. functioneven($var){  
  5. return($var%2==0);  
  6. }  
  7. $arrayarray1=array("a"=>1,"b"=>2,"c"=>3,"d"=>4,"e"=>5);  
  8. $arrayarray2=array(6,7,8,9,10,11,12);  
  9. echo"Odd:\n";  
  10. print_r(array_filter($array1,"odd"));  
  11. echo"Even:\n";  
  12. print_r(array_filter($array2,"even"));  
  13. ?> 

4.array_map()将回调函数作用到给定数组的单元上,它的参数可以是一个数组,也可以是多个数组,回调函数的参数必须要和调用它的参数相同。

  1. //单个参数的例子,将数组中的每个值,乘以它的3次方  
  2. functioncube($n){  
  3. return$n*$n*$n;  
  4. }  
  5.  
  6. $a=array(1,2,3,4,5);  
  7. $b=array_map("cube",$a);  
  8. print_r($b);  
  9. ?> 
  10.  
  11. //多个数组参数的例子  
  12. functionshow_Spanish($n,$m){  
  13. return"Thenumber$niscalled$minSpanish";  
  14. }  
  15.  
  16. functionmap_Spanish($n,$m){  
  17. returnarray($n=>$m);  
  18. }  
  19.  
  20. $a=array(1,2,3,4,5);  
  21. $b=array("uno","dos","tres","cuatro","cinco");  
  22.  
  23. $c=array_map("show_Spanish",$a,$b);  
  24. print_r($c);  
  25. $d=array_map("map_Spanish",$a,$b);  
  26. print_r($d);  
  27. ?> 
  28. //输出结果  
  29. //printoutof$c  
  30. Array  
  31. (  
  32. [0]=>Thenumber1iscalledunoinSpanish  
  33. [1]=>Thenumber2iscalleddosinSpanish  
  34. [2]=>Thenumber3iscalledtresinSpanish  
  35. [3]=>Thenumber4iscalledcuatroinSpanish  
  36. [4]=>Thenumber5iscalledcincoinSpanish  
  37. )  

以上就是有关PHP数组函数的相关总结,大家要熟记啊。

相关内容

热门资讯

如何允许远程连接到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...