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

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

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

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

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

    exp:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?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:

    1
    2
    3
    4
    <?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()打乱原有的数组

    • 1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      <?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

PHP精选数组函数的更多相关文章

  1. 前端学PHP之数组函数

    × 目录 [1]键值操作 [2]记数[3]回调函数[4]组合[5]栈和队列[6]顺序 前面的话 PHP中的数组功能非常强大,数组处理函数有着强大.灵活.高效的特点.PHP5提供了近100个操作数组的系 ...

  2. PHP数组函数: array_walk()与 array_map() 的区别

    详细的介绍如下: PHP数组函数: array_walk() PHP数组函数: array_map() 实际应用中的一点区别与总结: array_walk() 主要用于对某个数组的迭代,相当于 for ...

  3. php常用数组函数回顾一

    数组对于程序开发来说是一个必不可少的工具,我根据网上的常用数组函数,结合个人的使用情况,进行数组系列的总结复习.里面当然不只是数组的基本用法,还有相似函数的不同用法的简单实例,力求用最简单的实例,记住 ...

  4. javascript函数一共可分为五类: ·常规函数 ·数组函数 ·日期函数 ·数学函数 ·字符串函数

    javascript函数一共可分为五类:    ·常规函数    ·数组函数    ·日期函数    ·数学函数    ·字符串函数    1.常规函数    javascript常规函数包括以下9个 ...

  5. PHP 数组函数整理

    如果你已经使用了一段时间PHP的话,那么,你应该已经对它的数组比较熟悉了——这种数据结构允许你在单个变量中存储多个值,并且可以把它们作为一个集合进行操作. 经常,开发人员发现在PHP中使用这种数据结构 ...

  6. PHP函数积累总结(Math函数、字符串函数、数组函数)

    Math函数:10个较常用标红.abs — 绝对值acos — 反余弦acosh — 反双曲余弦asin — 反正弦asinh — 反双曲正弦atan2 — 两个参数的反正切atan — 反正切ata ...

  7. PHP常用数组函数

      一.数组操作的基本函数 数组的键名和值 array_values($arr);  获得数组的值 array_keys($arr);  获得数组的键名 array_flip($arr);  数组中的 ...

  8. PHP学习之[第06讲]数组、多维数组和数组函数

    一.数组 ①Array(“aa”,12,true,2.2,”test”,50); ②Array(“title”=>“aa”,  ”age”=>20); 1.创建: $arr= array( ...

  9. [转] 有趣的JavaScript原生数组函数

    在JavaScript中,可以通过两种方式创建数组,Array构造函数和 [] 便捷方式, 其中后者为首选方法.数组对象继承自Object.prototype,对数组执行typeof操作符返回‘obj ...

随机推荐

  1. PHP图形操作之生成图像验证码

    简单的验证码其实就是在图片中输出了几个字符,通过imagestring函数就能实现. 但是在处理上,为了使验证码更加的安全,防止其他程序自动识别,因此常常需要对验证码进行一些干扰处理,通常会采用绘制一 ...

  2. oracle连接问题【转载】

    SQL的四种连接-左外连接.右外连接.内连接.全连接   今天在看一个遗留系统的数据表的时候发现平时查找的视图是FULL OUT JOIN的,导致平时的数据记录要进行一些限制性处理,其实也可以设置视图 ...

  3. 误删/usr文件夹解决办法

    http://blog.chinaunix.net/uid-2623904-id-3044156.html http://www.centoscn.com/CentOS/Intermediate/20 ...

  4. Essential controls for web app

    AUTO-COMPLETE/AUTO-SUGGEST Auto-complete using Vaadin Offer auto-suggest or auto-complete to help yo ...

  5. 解决overflow:hidden在安卓微信页面没有效果的办法

    在做h5移动端时候,发现overflow: hidden;在安卓微信页面失效问题,经研究和实验,用第三种方法和第四种方法可以解决! 1.完全隐藏 在<boby>里加入scroll=&quo ...

  6. Java ArrayList和Vector、LinkedList与ArrayList、数组(Array)和列表集合(ArrayList)的区别

    ArrayList和Vector的区别ArrayList与Vector主要从二方面来说.  一.同步性:   Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步 ...

  7. windows多线程编程星球(一)

    以前在学校的时候,多线程这一部分是属于那种充满好奇但是又感觉很难掌握的部分.原因嘛我觉得是这玩意儿和编程语言无关,主要和操作系统的有关,所以这部分内容主要出现在讲原理的操作系统书的某一章,看完原理是懂 ...

  8. ant 自动化编译

    bulid.xml配置: <?xml version="1.0" encoding="UTF-8" ?> <project name=&quo ...

  9. rails4.0 session activerecord

    Active Record Session Store A session store backed by an Active Record class. A default class is pro ...

  10. C#实现DNS解析服务和智能DNS服务

    C#实现DNS解析服务有一个开源项目ARSoft.Tools.Net, ARSoft.Tools.Net是一个非常强大的开源DNS控件库,包含.Net SPF validation, SenderID ...