php常用函数总结-----数组

数组:
1.键名区分大小写,如:“a”和“A”不同;
2.若没有指明键名,则默认以0开始依次累加;

1.创建数组:

    1.普通创建数组---
            ①$arr = array("键名1"=>"键值1","键名2"=>"键值2",...... ........);
            ②$arr = array("键值");
            PS: 若数组中出现有些元素有的有键名,有的只有键值而没有键名的,那没有键名的以0开始之后累加;

    2.批量创建数组:
            a:数组填充------- array_fill(num1,num2,String a);     //每个元素的键名都相同;
                                           num1:初始索引
                                           num2: 填充元素的数量
                                           a:用于填充数组的键值


            a:数组填充------- array_fill_keys($key,String a);     //每个元素的键名都相同;
                                            $key :用于充当键名的数组;
                                            a:用于填充数组的键值  



    3.快速创建数组(主要用于数字型数组)---------  range(num1,num2,num3);
                                                                                  num1:起始元素的值;
                                                                                   num2:结束元素的值;
                                                                                  num3:两个参数间的差值;


2.数组排序:

    a :对数组进行排序--------array_multisort($arr,[$arr1,$arr2,.... .....]);   //1.可以有多个参数,但每个参数的元素个数必须相等; 
                                                                                                                    //2.第二个参数默认是SORT_ASC,即默认是升序,那我们也可以用SORT_DESC来指定为降序。


    b:把数组的原有顺序颠倒(包括键名也一起改变)------- array_reverse($arr);


    c:对关联数组按键值进行降序排列------  asort($arr);  //若数字与字符串同时出现,数字排在字符串前面; 


    d: 对关联数组按键值进行升序排列------  arsort($arr);  //若数字与字符串同时出现,数字排在字符串前面;


    e:对关联数组按键名进行降序排列------  krsort($arr);  //若数字与字符串同时出现,数字排在字符串前面; 


    f: 对关联数组按键名进行升序排列------  ksort($arr);  //若数字与字符串同时出现,数字排在字符串前面;




3.数组查询:

    a:判断数组中是否存在某个键名------ array_key_exists(String a, $arr01);  //返回 true 或 felse 
                                                                a:要查找的键名;
                                                                $arr:所在数组;



    b:根据键值找键名并将找到元素组成新数组-------- array_keys($arr,String a);
                                                                      $arr:进行查找的数组;
                                                                       a :要查找的键值;



    c:在数组中随机取元素的键名(没有键值)------- array_rand($arr,num);
                                                                                    $arr:执行操作的数组;
                                                                                    num:要取的个数;



    d:根据键值在数组查找相应的键名 -------------  array_search(String a,$arr);
                                                                                  a :要查找的键值;
                                                                                  $arr :执行操作的数组;


    e:判断某元素是否在数组中---------  in_array(String a, $arr);
                                                                a :查询的键值;
                                                                $arr :执行的数组;
    


4.数组操作:

    a:数组分割---array_chunk($arr, num,true);
                          $arr:要分割的数组;
                          num:以多少个元素做为一个单元分割;
                          true:是否保留原有键名;
                            
            


     b:键名与键值匹配组成新数组----array_combine($key,$value); //$key和$valued的长度必须相等

                           $key:做键名的数组;
                          $valu:做键值的数组;



   c:统计各个元素在数组中出现的次数,形成新的数组-------array_count_values($arr); //跟键值无关;


   d:两个数组间比较找差值--------array_diff系列
                                                        1.array_diff函数比较两个数组的差集,只比较键值。
                                                         2.array_diff_assoc函数比较键名和键值。
                                                         3.array_diff_key函数只比较键值。
                                                         4.array_diff_uassoc使用用户自定义的函数去比较键名和键值。
                                                         5.array_diff_ukey使用用户自定义的函数去比较键值。
                                                         6.以上函数都是返回差集,都可以接受N个参数,都是从第一个参数的数组中除  去后面参数中所拥有的数组的元素,然后返回剩下的数组。


      e:实现键名与键值的互换-------- array_flip($arr);  //若原来有相同的键名,则转换后会出现相同的键值,则只保留最后一个的;



    f :对数组进行某个操作后重新返回一个新的数组---------- array_map(function a(), $arr);
                                                                                                a() : 回调函数。该回调函数接收数组的值,然后操作之后再还给该数组。
                                                                                                $arr :进行该操作的数组;


    g:实现多个数组合并成一个新的数组------①array_merge($arr1,$arr2,$arr3, ..... ..... );
                                                                       ②array_merge_recusive($arr1,$arr2,$arr3, ..... ..... );



    h:在数组批量插入元素------array_pad($arr,num,String a);
                                                  $arr :要操作的数组;
                                                  num:执行操作后数组的元素个数;
                                                  a:要插入的键值;

    i:数组元素的乘积------- array_product($arr);   //进行数字间的乘积;若数组元素中有非数字的字符串,则乘积结果为0;


     j:数组元素求和--------  array_sum($arr);


     k:去除数组中的重复元素---------  array_unique($arr);


     l:对数组元素进行随机打乱----------  shuffle($arr);   //打乱后键名将被重新分配为以0开始;


    
5.数组的统计:

        a:统计各个元素在数组中出现的次数,形成新的数组-------array_count_values($arr); //跟键值无关;

       b:统计数组中元素的个数------------count($arr);



6.数组的批处理:

    1:array_reduce($arr,function a());
                                a() : 回调函数;


   

7.未分类的:


    1.array_shift($arr)--------1.从数组左边开始取出一个值,且 取出一个,原数组就会少一个;


    2.array_walk($arr, function c(),d);
                        $arr:执行数组;
                        c() :回调函数;
                        d : 回调函数的参数;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值