PHP精选数组函数

编程怎么能少的了数组呢,以下是学习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
时间: 2024-10-12 13:17:27

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

判断对象是否为数组/函数

打印Object的prototype属性: 有一个toString方法,不同于一般变量的toString方法,当Object的toString方法执行时: 1.获取当前对象的[[Class]]属性的值; 2.返回 "[object " + 第一步得出的值+ "]"格式的字符串,例如[object Array], 解析: [[Class]]是一种内部属性,所有的对象(原生对象和宿生对象)都拥有该属性,描述该对象的类型 (值得注意的是[[Class]]的值只能是Obje

数组函数

2016年11月22号 今天苦逼的学习了"几个"数组函数.不多也就30几个! 首先学习了 数组的指针:在每一个数组的内部,都有一个数组元素的指针,该指针负责指向数组内的某个元素,那么这个被指向的元素,就叫作"当前元素"!而他又有两个小弟,分别实现键和值:key:语法:key(数组名)作用:获取该数组当前元素的键!current:语法:current(数组名)作用:获取该数组当前元素的值! 然而,数组的指针不能永远只指向某个元素,应该将数组的指针在需要的时候下移一位!

PHP数组函数

数组函数: count: 返回数组的个数 explode: 把字符串切割为数组 join: 把数组连接为字符串 array_values:返回数组中的value值,组成一个新数组 array_keys :返回数组中的key值,组成一个新数组 array_pop : 删除数组中最后一组元素 list : 把数组中的值,赋值给对应的变量 next:数组中的指针往后移动一位 prev:数组中的指针往前移动一位 end:选取最后一个元素 in_array:判断数组中是否存在某个值 array_rever

自定义数组函数

// 自定义数组函数Array.prototype.maxima.//Array.prototype为必须的,maxima为数组名.//调用时arr.maxima()这样调用window.onload = function() { Array.prototype.sum = function(){ for(var sum = i = 0 ; i < this.length; i ++){ sum += parseInt(this[i]); } return sum; }; Array.proto

数组拷贝、数组函数、通过数组函数来模拟数据结构的栈和队列、回调的意义、数组函数的排序问题、算法以及寻找素数的筛选法

1.数组的拷贝数组拷贝时指针的指向问题. 数组在拷贝时,指针的位置随之复制[这一点拷贝是完全一样]但是如果拷贝的数组的指针是非法的,那么拷贝出新指针的位置进行初始化<?php$arr1=array('123');end($arr1);next($arr1);//这个指针非法$arr2 = $arr1;//这里进行数组的拷贝var_dump(current($arr2));//得到指向‘123’元素的指针var_dump(current($arr1));//此时这个数组的指针有问题?> 但是拷贝

labview学习之“创建数组”函数

“创建数组”函数 一.位置:“函数”-“编程”-“数组”-“创建数组” 其图标为: 图1 图标 二.简介: “创建数组”函数有两种模式,一种是“连接模式”,一种是“添加模式”. 如需切换两种模式,可右键单击“创建数组”函数,切换连接输入菜单项. “创建数组”函数默认输入端数量为1.如需添加输入,可右键单击该函数并从菜单中选择添加输入,或者调整函数的大小. (1)在连接模式下,输入可以同时包含n维数组.n-1维数组(n>0).“创建数组”函数通过连接输入数组的每个元素得到一个n维数组. (2)在添

js 的数组怎么push一个对象. Js数组的操作push,pop,shift,unshift JavaScript使用push方法添加一个元素到数组末 JavaScript数组函数unshift、shift、pop、push使用

push()函数用于向当前数组的添加一个或多个元素,并返回新的数组长度.新的元素将会依次添加到数组的末尾. 该函数属于Array对象,所有主流浏览器均支持该函数. 语法 array.push( item1 [,items... ] )参数 参数 描述item1 任意类型添加到当前数组末尾处的元素.items 可选参数/任意类型要添加到当前数组末尾处的其他项,可以有多个.注意:如果添加的元素类型为数组类型(Array),仍然会被当作一个元素看待,只是这个元素是数组类型而已.如果要合并两个数组,请使

数组、多维数组和数组函数

1.数组的基本写作格式 (1). array ("AA","BB","CC","DD"); (2). array ("AA"=>"11","BB"=>"22"); 2.数组的创建.修改.删除.使用 <?php $arr=array(array("AA","BB","CC"

【风马一族_php】数组函数

原文来自:http://www.cnblogs.com/sows/p/6045699.html (博客园的)风马一族 侵犯版本,后果自负  2016-11-09 15:56:26 数组 函数 php--数组的尝鲜事例 array_change_key_case - 返回字符串键名全为小写或大写的数组 语法:array_change_key_case(数组名); php-->修改数组的键名(下标)的字母大小写 array_chunk - 将一个数组分割成多个 语法:array_chunk(数组名,