• php数组常用函数总结


    1. 数组的创建  
    $arr1 = [
        "姓名" => "张三",
        "籍贯" => "上海",
        "年龄" => 12,
        "职位" => "php开发工程师",
        "工作经历" => "阿里巴巴",
        "月薪" => "20K"
    ];
    $arr2 = array("姓名" => "张三",
        "籍贯" => "上海",
        "年龄" => 12,
        "职位" => "php开发工程师",
        "工作经历" => "阿里巴巴",
        "月薪" => "20K");
    

      2.数组添加

    // 在数组的头部添加元素,当数组是关联数组时,添加之后的元素的键为数字,当数组为索引数组时,添加之后数组的键为重新排列
    array_unshift($array,$var,[$var......] );
    // 在数组的尾部添加元素,当数组时关联数组时,添加之后的元素的键为数字,当数组为索引数组时,添加之后数组的键为重新排列
    array_push(array, $var,[$var.......]);
    // 当向一个数组中同时执行上面的两种插入操作时,并且原数组都为关联数组时,向尾部添加的元素的键会按照插入的键的顺序。

      3.数组删除

    // 删除数组的头部,返回删除的元素;当原数组为索引数组的时候,此时数组的下标依次向前移动一位,当数组为关联数组的时候,数组下标不变。如为空数组或者不是数组则返回null
    array_shift($arr);
    // 删除数组的尾部,返回删除的原素;当原数组为索引数组的时候,此时数组的下标依次向前移动一位,当数组为关联数组的时候,数组的下标不变。如为空数组或者不是数组则返回null
    array_pop($arr);

      4.数组的遍历(不介绍for循环)

    foreach ($arr1 as $k=>$v){
        echo $k."=>".$v."<br/>";
    }
    
    while (list($k, $v) = each($arr1)){
        echo $k."=>".$v."<br/>";
    }
    两者的区别:
    同:都是对数组的遍历
    不同:foreach只是对原数组的复制,而不会改变原数组,因此这种循环是更安全可靠的;
       list()echo()是对原数组的操作,是会改变原数组的;
       从执行的效率来看,foreache是低于后者的;

       5.数组和字符串之间的转换

    //将字符串按照特定的符号转换为数组
    explode($type, $array);
    // 将数组按照特定的分隔符转换为字符串 implode($type, $array);

      6.数组的排序

    // 对数组进行升序排序,会改变原有的键值顺序
    sort();
    // 对数组进行降序排序 rsort();
    针对sort()和rsort()两个函数的第二个可选参数
    参数名          参数解释
    SORT_REGULAR      默认,标志对数组进行默认排序
    SORT_NUMERIC      标志数组元素将被作为数字来比较
    SORT_STRING       标志数组元素将被作为字符串来比较
    SORT_LOCALE_STRING 根据当前的区域设置来把单元当作字符串比较
    // 对数组的值升序排序,保留原有的键值顺序 asort();
    // 对数组的值降序排序 arsort();
    // 对数组的键升序排序 ksort();
    // 对数组的键降序排序 krsort();
    // 对数组中进行随机排序,并将所有的键初始化,以整型0开始;当数组是关联数组的时候,使用此函数同样的会把数组的键初始化从0开始
    shuffle();
    // 多位数组的排序
    array_multisort();

      7.数组判断

    // 判断某个元素是否在数组中,$needle传入的元素,$array检索的数组,$strict为true时,会判断$needle的类型与$array中的类型是否一致,反之;同时此函数可代替数组的遍历操作。
    // 存在着返回true,不存在者会反悔false。
    in_array($neele, $array, $strict); // 判断某个键值或者索引是否在数组中,存在者返回true,不存在者会反悔false。 array_key_exists($key, $array);

      8.数组的合并与拆分

    // 当数组的键重复时并且键为字符串时,后面的值会覆盖前面的值;反之,则会附加到后面。
    array_merge($array1, $array2, $array3......);
    // 将第一个数组的值作为新数组的键,将第二个数组的值作为新数组的值。只接受两个参数。
    array_combine($array1, $array2);
    // 数组的拆分,第一个参数为才分的数组,第二个参数为分割的大小,第三个参数为boolean类型,当为true时,表示数组的键名不变,当为false时,表示数组元素的键名会丢失,默认为false。
    array_chunk($array, $size, $pres_keys);

      9.返回数组的交集

    // 返回所有数组中都存的值,键名保持原先的不变,当键名不同时,返回第一个数组中的键。
    array_intersect($array1, $array2, $array3......);

      10.将数组转换为标量变量

    // 将数组的键作为变量名,数组的值作为变量的值
    extract($array,[extract_type], [prefix]);
    ***文章结尾是extrac_type的信息对照表

      11.初始化数组

    // 生成一个随机数组,$low最小值,$hig最大值,$step偏移量
    range($low, $hig, $step);
    // 填充数组 array_fill();

      12.查找数组

    // 在数组中查找值,当值存在时,则返回该值对应的键,当不存在时,则返回false;$val为查找的值,$array为查找的数组,$strict判断$val在$array中的值的类型是否完全相等。
    array_search($val, $array, $strict);
    // 获取数组的键,当$val为空时,则返回数组中全部的键值,当$val不为空时,返回的时该值对应的键。
    array_keys($array,[$val]);
    // 获取数组的值
    array_values($array);

     

      

      

      

  • 相关阅读:
    iOS 渐变进度条
    征服Spark as a Service
    在云计算资源池上自动部署业务应用的大数据平台组件开发实战
    一天征服Spark!
    王家林最新最新介绍
    决胜大数据时代:Hadoop&Yarn&Spark企业级最佳实践(8天完整版脱产式培训版本)
    决胜大数据时代:Hadoop&Yarn&Spark企业级最佳实践(3天)
    精通Spark的开发语言:Scala最佳实践
    精通Spark:Spark内核剖析、源码解读、性能优化和商业案例实战
    基于Spark构建开放式的云计算平台第一阶段课程
  • 原文地址:https://www.cnblogs.com/qqblog/p/6886694.html
Copyright © 2020-2023  润新知