专栏首页青玉伏案PHP精选数组函数

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

  • 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;
?>
  • 输出结果:
    • 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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 算法导论之插入排序和归并排序

      作为一名前线的码农不时地看一下算法和数据结构还是很有必要的,虽然《算法导论》这本书很难啃,但还是有必要啃一下的。算法这东西和某种编程语言关系不大,在大学的课...

    lizelu
  • OracleDBA之数据库管理

      以下这些东西是我的麦库上存的当时学Oracle的学习笔记今天拿出来和大家分享一下,转载请注明出处,下面用的Oracle的版本是10g,用的时WinServe...

    lizelu
  • 关于ThinkPHP在BAE上URL的rewrite问题

      在BAE上若想用ThinkPHP的那一套URL路由方式,必须在BAE上rewrite一下,之前我就直接用了不过是403错误,rewrite方式如下:   把...

    lizelu
  • Clojure 学习入门(19)—— 数组

    user=> (into-array [1 2 3]) #<Integer[] [Ljava.lang.Integer;@4b0ea9ba> user=> (s...

    阳光岛主
  • 每天一道leetcode442-数组中重复的数据

    乔戈里
  • Day13 :调整数组顺序使奇数位于偶数前面

    思路一:   根据题意可知,我们不仅要让奇数在偶数的前面,还要考虑奇数和偶数原来的相对位置不变。因此我们首先要寻找第一个奇数,并将其放在0号位置。然后将第一个...

    stefan666
  • Go语言实战笔记(四)| Go 数组

    数组,是用来存储集合数据的,这种场景非常多,我们编码的过程中,都少不了要读取或者存储数据。当然除了数组之外,我们还有切片、Map映射等数据结构可以帮我们存储数据...

    飞雪无情
  • 【剑指Offer】11. 旋转数组的最小数字

    把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。

    瑞新
  • 《剑指offer》第12天:旋转数组的最小数字

    把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组 {3,4,5,1,2} 为...

    程序员小浩
  • 3分钟短文 | PHP 数组删除元素,忘了foreach吧,有更优雅的方式

    PHP的数组,说白了就是一个映射的键值对集合。那么如何从数组元素中删除元素呢?你肯定首先想到遍历数组,然后找到目标项,然后删除。

    程序员小助手

扫码关注云+社区

领取腾讯云代金券