编程怎么能少的了数组呢,以下是学习PHP时常用的数组处理函数。在编程中要遵循一个原则就是DRY(Don`t Repeat Yourself)原则,PHP中有大量的函数,都记住这些函数不太现实,但常用的函数还是要熟练使用的,大部分的函数的使用方法可以通过查询PHP的手册来使用。在编程中查手册是少不了的,所以要会学着使用已有的东西,就如PHP中的数组处理函数已经有排序函数了,为什么还要在写东西是费着劲去写冒泡或者堆排或者快排呢。
编程是间接的过程,也是重用的过程,要写出好的代码是少不了设计模式来做支撑的,可能对初学者来说学习设计模式有些吃力(就像我当初看设计模式时,真是有点费劲),不过等你的代码量有一定积累时,在研究设计模式时,感觉设计模式真的挺有用的,能帮助你写出漂亮的代码。说着说着有点跑偏了,还是来总结一下php中对数组操作的常用函数吧。
以下总结的数组常用的函数,可能有些读者会感觉有些少,众人拾柴火焰高吗,如果感觉还有其他常用的数组处理函数,给个评论留下呗,不要吝啬自己的知识嘛,和别人分享东西不是一件很快乐的东西吗。还有,下面的代码出自本人之手,不过是两年前写的代码了,欢迎大家批评指正。
-
array_splice() 删除数组中的指定元
array_splice(数组名,从前往后删的个数,new一个数组的大小);没有第三参数也就没有返数组,没有第三个参数时,第二个参数的意义为从前往后保留几个
exp:
123456789<?php$my_array=array(//建立数组"hehe"=>"haha","A"=>"lu","lu"=>"ge");$new=array_splice($my_array,1,3);//使用array_splice(数组名,从前往后删的个数,new一个数组的大小);var_dump($new);?>
结果:array(2) { ["A"]=> string(2) "lu" ["lu"]=> string(2) "ge" }
2、foreach()数组的遍历
用法:foreach(数组 as 键名=>键值)或foreach(数组 as 键值)
exp:
|
1
2
3
4
5
6
7
8
9
10
11
|
<?php $my_array=array( //建立数组 "hehe"=>"haha", "A"=>"lu", "lu"=>"ge" ); foreach($my_array as $key=>$value) { echo $key."=>".$value."<br/>"; }?> |
输出结果:
hehe=>haha
A=>lu
lu=>ge
3、数组的排序
(1)sort()和rsort() 按键值排序sort()从小到大,rsort()从大到小
sort () exp :
|
1
2
3
4
5
6
7
8
|
<?php $my_array=array(1,2,3,6,7,8,9,4,5);//建立数组 sort($my_array); foreach($my_array as $keys=>$value) { echo $keys."=>".$value."<br/>"; }?> |
输出结果:
0=>1
1=>2
2=>3
3=>4
4=>5
5=>6
6=>7
7=>8
8=>9
rsort() exp:
|
1
2
3
4
5
6
7
8
|
<?php $my_array=array(1,2,3,6,7,8,9,4,5);//建立数组 rsort($my_array); foreach($my_array as $keys=>$value) { echo $keys."=>".$value."<br/>"; }?> |
输出结果:
0=>9
1=>8
2=>7
3=>6
4=>5
5=>4
6=>3
7=>2
8=>1
(2).asort()和arsort()和上面的原理一样,不过不改变键名和键值的对应关系
exp:
|
1
2
3
4
5
6
7
8
|
<?php $my_array=array(1,2,3,6,7,8,9,4,5);//建立数组 asort($my_array); foreach($my_array as $keys=>$value) { echo $keys."=>".$value."<br/>"; }?> |
输出结果:
0=>1
1=>2
2=>3
7=>4
8=>5
3=>6
4=>7
5=>8
6=>9
(3)ksort()和krsort()是按键名的大小排序
4.数组的数学类函数
-
array_sum()计算数组的所有键值的和 count()计算元素的个数
exp:
1234<?php$my_array=array(1,2,3,6,7,8,9,4,5);//建立数组echoarray_sum($my_array);?>
输出结果:45
5.其他函数
-
array_unique() 去除数组中的相同元素
-
in_array()检测一个值是否在数组中(返回true和false)
-
array_search()返回的是键或值,返回的是键值所对应的键名
-
shuffle()打乱原有的数组
-
12345678910
<?php$my_array=array(1,2,3,6,7,8,9,4,5,5,5,5);//建立数组array_unique($my_array);//去除数组中的相同元素var_dump($my_array);echo"<br/>";echoin_array(5,$my_array);echo"<br/>";$new=array_search(6,$my_array);//返回的是键值所对应的键名echo$new;?>输出结果:
-
array(12) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(6) [4]=> int(7) [5]=> int(8) [6]=> int(9) [7]=> int(4) [8]=> int(5) [9]=> int(5) [10]=> int(5) [11]=> int(5) }
1
3
总浏览量
4,589次
博客园历史 1,109 腾讯云 1,520 阿里云 1,959 本站新增 1
本站阅读按浏览器在 15 分钟内去重;禁用浏览器存储时按网络地址去重。推荐按浏览器一年内去重。仅使用站内随机标识,不采集浏览器指纹。
分享这篇文章
原创内容,未经授权禁止转载。
欢迎分享原文链接。除另有署名或许可说明外,本站原创文章的著作权由青玉伏案享有;未经书面授权,禁止整篇转载、复制发布、改编传播或建立内容镜像。
版权与使用条款
- 依法属于合理使用、法定许可等情形的,按法律规定执行;引用时应注明作者、作品名称和原文链接,不得歪曲、篡改或隐去署名。
- 经书面授权使用的,请遵守约定的用途、范围与署名要求。注明出处不等同于已经取得整篇转载或其他使用授权。
- 第三方图片、引用内容和书籍封面等权利归相应权利人所有;开源代码与 Demo 按其各自许可证使用,本声明不改变已有许可。
- 本声明参考《中华人民共和国著作权法》第十条、第二十四条、第五十二条等。对侵权使用,权利人保留依法要求停止侵害并追究相应责任的权利。

讨论