• PHP中对数组进行操作的常用函数总结


    PHP中,对数组的操作是非常常见的,所以,掌握一些常用且重要的数组操作函数尤其重要。现将一些本人认为较为重要的函数总结如下:

    1.创建数组使用的是array(),如:

    <?php

    $a = array("a","b");   //当然还有其他一些基础的创建数组的方法,比如使用键值,二维数组等,这里就不再赘述

    ?>

    2.array_values()  返回数组的所有值,但不包括数组的键值。返回的是以数字为键值的数组,从0开始。如:

    <?php

    $arr = array("name1"=>"aa","name2"=>"bb","name3"=>"cc");     //此数组在以下可能用到,不在赘述

    print_r(array_values($arr));   //输出为   Array ( [0]=>aa  [1]=>bb  [2]=>cc )

    ?>

    3.array_keys()  返回数组的键名,以数字为键值的数组形式,从0开始。如:

    <?php

    print_r(array_keys($arr));    //输出为   Array ( [0]=>name1  [1]=>name2  [2]=>name3 )

    ?>

    4.array_flip()  将数组中的值和键进行互换,如果反转后的数组的值有相同的,那么只取最后一个值。如:

    <?php

    print_r(array_flip($arr));   //将会输出   Array ( [aa]=>name1  [bb]=>name2  [cc]=>name3 )

    ?>

    5.array_search(values,array)   在数组中搜索某个值并返回此值的键名。如:

    <?php

    echo array_search("bb",$arr);   //将会输出值为bb的键名,为name2

    ?>

    6.array_reverse()  将数组中的元素倒叙,返回值为倒叙之后的数组。如:

    <?php

    print_r(array_reverse($arr));   //会输出   Array ( [name3]=>cc  [name2]=>bb  [name1]=>aa )

    ?>

    7.in_array(search,array,type)  在数组中搜索是否存在相应的值,如果找到返回true,否则返回false。参数说明:search为要搜索的值;array是被搜索的数组;type为搜索类型,为true时是区分大小写和类型。如:

    <?php

    $a = array("abc","123","fg");

    echo in_array("123",$a);    //能找到123,返回true

    ?>

    8.array_key_exists(key,array)  检查相应的key值是否在数组中,如果在返回true,不在返回false。如:

    <?php

    echo array_key_exitsts("name2",$arr);   //会输出true

    ?>

    9.array_count_values()   是统计数组中所有值出现的次数,返回一个数组,数组的键名为原数组的值,键值为出现的次数。如:

    <?php

    $a = array("A","asd","A","abc");

    print_r(array_count_values($a));   //输出结果为  Array ( [A]=>2  [asd]=>1  [abc]=>1 )

    ?>

    10.array_slice(array,start,length,preserve)  根据条件取出数组中的一段值。参数说明:array是要处理的数组;start是从数组的第几个元素开始(包括此元素,为负数时是从末尾从1开始数);length是取出的长度(为负数时是从末尾开始数,从前向后取到数到的那个数终止);preserve为true时是保留键名。为false时为重置键名,默认为false。如:

    <?php

    $a = array("as","cd","ks","we","ig");

    print_r(array_slice($a,1,2));   //会输出  Array ( [0]=>cd  [1]=>ks )

    ?>

    11.array_splice(array1,start,length,array2)  从数组中移除相应的元素,并用新元素替换它,其中键名会被重新设为数字键名,从0开始,原来的键名不变。返回值为被移除的数组。参数说明:array1是要被替换的数组;start是从哪里开始;length是要替换的元素的长度(为0时就在相应的位置插入,为负数时就从最后数,从前向后到此为止);array2是替换为的元素数组。如:

    <?php

    $a1 = array("a"=>"red","b"=>"blue","c"=>"black");

    $a2 = array("d"=>"pur","e"=>"ss");

    print_r(array_splice($a1,0,2,$a2));   //会输出 Array ( [a]=>red  [b]=>blue )

    print_r($a1);   //会输出 Array ( [0]=>pur  [1]=>ss [c]=>black )

    ?>

    12.array_chunk(array,size,preserve_key)    把数组分割为新的数组块,最后一个块可能会少一些。参数说明:array是要分割的数组;size是分割的大小;preserve_key为是否保持原来数组的键名,默认为false,即使用新的数字键名从0开始。如:

    <?php

    $a = array("a","b","c","d","e");

    print_r(array_chunk($a,2));    //输出为 Array ( [0]=>Array( [0]=>a [1]=>b)   [1]=>Array([0]=>c [1]=>d)  [2]=>Array([0]=>e))   这个看着可能有点晕,其实类似于二维数组,以数组为元素的数组

    ?>

    13.array_push()  (进栈)向数组的尾部添加一个或多个元素,相当于多次调用$array[]=$values,添加进去的元素的键名为从0开始的数字键名。返回值为新数组的长度。<如果是单纯地向数组中添加元素,使用$array[]=$values更好,因为没有函数调用>。如:

    <?php

        $a = array("a","b","c");

        array_push($a,"d","e");

        print_r($a);   //会输出  Array ( [0]=>a [1]=>b [2]=>c [3]=>d [4]=>e )

    ?>

    14.array_pop()  (出栈)从数组的中删除最后一个元素,如:

    <?php

        $a = array("a","b","c");

        array_pop($a);

        print_r($a);   //输出为  Array ([0]=>a  [1]=>b  [2]=>c )

    ?>

    15.array_shift()  删除数组的第一个元素,返回值为被删除数组的值。<如果键名是数字,那么元素会重新获得数字键名,从0开始>。如:

    <?php

        $a = array(0=>"a",1=>"b",2=>"c");

        echo array_shift($a);   //会输出a

        print_r($a);   //输出为  Array ([0]=>b  [1]=>c )

    ?>

    16.array_unshift()   向数组的头部插入一个或多个元素,键名为从0开始的数字键名,原数组字符串的的键名不变。返回值为新数组的元素的个数。如:

    <?php

        $a = array(0=>"a",1=>"b",2=>"c");

        echo array_unshift($a,"d","e");   //会输出5

        print_r($a);   //输出为  Array ([0]=>a  [1]=>b [2]=>c [3]=>d [4]=>e )

    ?>

    17.array_sum()   返回数组中值的和。如:

    <?php

        $a = array(1,2,3);

        echo array_sum($a);   //会输出6

    ?>

    18.对数组进行排序的相关函数:

        sort($arr);       //由小到大,忽略键名       rsort($arr);      //由大到小,忽略键名         ksort($arr);     //按照键名正序排序           
        asort($arr);     //由小到大,保留键名       arsort($arr);    // 由大到小,保留键名         krsort($arr);   // 按照键名逆序排序
        

    数组是很常用的,所以有必要记住一些常用的函数,以上的整理不是太全面,其他请参考PHP手册。

  • 相关阅读:
    xUtils
    android各类开发框架汇总
    The connection to adb is down, and a severe error has occured.问题解决
    android系统自带主题和自定义主题
    gson处理json和java对象互转
    android解析json数据
    andrid源码目录分析
    JavaScript学习笔记(1)字符串方法
    0day学习笔记(3)Windows定位API引起的惨案(原理)
    内存分页
  • 原文地址:https://www.cnblogs.com/lxd564965917/p/6941778.html
Copyright © 2020-2023  润新知