开发者社区> 青玉伏案> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

PHP精选数组函数

简介:
+关注继续查看

编程怎么能少的了数组呢,以下是学习PHP时常用的数组处理函数。在编程中要遵循一个原则就是DRY(Don`t Repeat Yourself)原则,PHP中有大量的函数,都记住这些函数不太现实,但常用的函数还是要熟练使用的,大部分的函数的使用方法可以通过查询PHP的手册来使用。在编程中查手册是少不了的,所以要会学着使用已有的东西,就如PHP中的数组处理函数已经有排序函数了,为什么还要在写东西是费着劲去写冒泡或者堆排或者快排呢。

  编程是间接的过程,也是重用的过程,要写出好的代码是少不了设计模式来做支撑的,可能对初学者来说学习设计模式有些吃力(就像我当初看设计模式时,真是有点费劲),不过等你的代码量有一定积累时,在研究设计模式时,感觉设计模式真的挺有用的,能帮助你写出漂亮的代码。说着说着有点跑偏了,还是来总结一下php中对数组操作的常用函数吧。

  以下总结的数组常用的函数,可能有些读者会感觉有些少,众人拾柴火焰高吗,如果感觉还有其他常用的数组处理函数,给个评论留下呗,不要吝啬自己的知识嘛,和别人分享东西不是一件很快乐的东西吗。还有,下面的代码出自本人之手,不过是两年前写的代码了,欢迎大家批评指正。

  1. array_splice() 删除数组中的指定元

    array_splice(数组名,从前往后删的个数,new一个数组的大小);没有第三参数也就没有返数组,没有第三个参数时,第二个参数的意义为从前往后保留几个

    exp:

    <?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:

    <?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 :

    <?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:

    <?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:


    <?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.数组的数学类函数

  2. array_sum()计算数组的所有键值的和 count()计算元素的个数

    exp:

    <?php
     $my_array=array(1,2,3,6,7,8,9,4,5);//建立数组
     echo array_sum($my_array);
    ?>

    输出结果:45

    5.其他函数

    • array_unique() 去除数组中的相同元素

    • in_array()检测一个值是否在数组中(返回true和false)

    • array_search()返回的是键或值,返回的是键值所对应的键名

    • shuffle()打乱原有的数组



    <?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/>";
     echo in_array(5,$my_array);
     echo "<br/>";
     $new=array_search(6,$my_array);//返回的是键值所对应的键名
     echo $new;
    ?>

  3. 输出结果:

  4. 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) }



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
PHP: 数组转查询参数
PHP: 数组转查询参数
0 0
PHP数组
PHP数组
0 0
PHP: 数组转查询参数
PHP: 数组转查询参数
0 0
函数指针数组的指针
下面定义一个简单的函数指针数组的指针: char* (*(*pf)[3])(char* c); pf是一个指针,这个指针指向一个有3个元素的数组,每个元素是一个参数为char* ,返回值为char *的指针。
610 0
函数指针数组
今天来介绍一个开发者常用的知识点, 函数指针数组。 这是个什么东西?初学者看到可能就会懵了,又是指针又是数组,还有函数?指针一个就够呛了,还搞这么多。不怕,容我慢慢道来。 首先,咱们先弄明白一个概念性的问题。
615 0
PHP函数前面的@。
@是可以屏蔽函数执行过程中遇到问题而产生的一些错误、警告信息,这样用户就看不到程序的出错信息。这样除了用户界面会友好一些外,更重要的是安全性,因为屏蔽了出错文件的路径等信息。 比如说这个: for($i = 0;$i
518 0
巧用PHP数组函数
2014年3月5日 08:48:39 情景:项目中需要根据传递来的参数的不同,使用不同的缓存 假如传递来的参数最多有这几个(在这个范围内,但是每次传过来的参数不确定): $arg = array( 'a' => '1111', 'b' => '2222', '...
356 0
+关注
青玉伏案
在技术的世界中,一直在路上~
文章
问答
文章排行榜
最热
最新
相关电子书
更多
PHP与APM_技术内幕和最佳实践
立即下载
阿里云栖开发者沙龙PHP技术专场-深入浅出网络编程与swoole内核-吴镇宇
立即下载
阿里云栖开发者沙龙PHP技术专场-RabbitMQ 的延时队列和镜像队列原理与实战-钱文品
立即下载