zoukankan      html  css  js  c++  java
  • php 数组函数

    1、array_change_key_case()

    将数组的所有的键都转换为大写字母或小写字母。

    array_change_key_case(array,case)

    $arr=array(
        "SHIFU"=>"唐僧",
        "dashixiong"=>"悟空"
    );
    $arr1=array_change_key_case($arr,CASE_UPPER);
    print_r($arr1);    //Array ( [SHIFU] => 唐僧 [DASHIXIONG] => 悟空 )

    ps.case可选。可能的值:

    • CASE_LOWER - 默认值。将数组的键转换为小写字母。
    • CASE_UPPER - 将数组的键转换为大写字母。

    2、array_chunk()

    把数组分割为新的数组块

    array_chunk(array,size,preserve_key)

    $arr=array("小明","小花","小华","小鸭","小狗","小猫");
    print_r(array_chunk($arr,2));

    ps.preserve_key参数可选。可能的值:

    • true - 保留原始数组中的键名。
    • false - 默认。每个结果数组使用从零开始的新数组索引。
    $arr=array(
        "中国"=>"小明",
        "美国"=>"小花",
        "韩国"=>"小华",
        "俄罗斯"=>"小鸭",
        "英国"=>"小狗",
        "法国"=>"小猫"
    );
    print_r(array_chunk($arr,2,true));

    3、array_column()   5.5+

    输入数组中某个单一列的值

    array_column(array,columnj_key,index_key)

    $arr=array(
        "shifu"=>array(
            "name"=>"唐僧",
            "age"=>"30"
        ),
        "dashixiong"=>array(
            "name"=>"悟空",
            "age"=>"500"
        ),
        "ershixiong"=>array(
            "name"=>"八戒",
            "age"=>"230"
        )
    );
    $age=array_column($arr,"age");    
    print_r($age);

    4、array_combine()

    通过合并两个数组来创建一个新数组,其中的一个数组是键名,另一个数组的值为键值,键名数组和键值数组的元素个数必须相同!

    array_combine(keys,values)

    $arr1=array("中国","美国","英国");
    $arr2=array("小明","小华","小红");
    print_r(array_combine($arr1,$arr2));

    5、array_count_values()

    统计数组中所有值出现的次数。

    array_count_values(array)

    $arr1=array("中国","美国","英国","中国","中国","美国");
    print_r(array_count_values($arr1));

    6、array_fill()

    用键值填充数组。

    array_fill(index,number,value);

    $arr=array_fill(5,4,"hello world");
    print_r($arr);

    7、array_fill_keys()

    使用指定的键和值填充数组。

    array_fill_keys(keys,value)

    $arr=array("a","b","c","d");
    print_r(array_fill_keys($arr,"hello world"));

    8、array_filter()

    用回调函数过滤数组中的值

    array_filter(array,callbackfunction)

    function odd($val){
        if($val%2==0){
            return $val;
    }
    }
    $arr=array(1,2,3,4,5,6,7,8,9);
    print_r(array_filter($arr,"odd"));

    9、array_flip()

    用于反转/交换数组中所有的键名以及它们关联的键值。

    array_flip(array)

    $arr=array(
        1 => "a",
        2 => "b",
        3 => "c",
        4 => "d",
        5 => "e",
    );
    print_r(array_flip($arr));

    10、array_key_exists()

    检查某个数组中是否存在指定的键名,如果键名存在则返回 true,如果键名不存在则返回 false。

    array_key_exists(key,array)

    $arr=array(
        "中国"=>"小明",
        "美国"=>"小华",
        "英国"=>"小伟"
    );
    if(array_key_exists("中国",$arr)){
        echo "键存在";                 //键存在
    }else{
        echo "键不存在";
    }

    11、array_keys()

    返回包含数组中所有键名的一个新数组。

    array_keys(array,value,strict)

    $arr=array(
        "中国"=>"小明",
        "美国"=>"小华",
        "英国"=>"小伟"
    );
    print_r(array_keys($arr));

    ps.value可选。您可以指定键值,然后只有该键值对应的键名会被返回。

    $arr=array(
        "中国"=>"小明",
        "美国"=>"小华",
        "英国"=>"小伟",
        "俄罗斯"=>"小明"
    );
    print_r(array_keys($arr,"小明"));

    strict可选。与 value 参数一起使用。可能的值:

    • true - 返回带有指定键值的键名。依赖类型,数字 5 与字符串 "5" 是不同的。
    • false - 默认值。不依赖类型,数字 5 与字符串 "5" 是相同的。
    $arr=array(
        "中国"=>5,
        "美国"=>"小华",
        "英国"=>"小伟",
        "俄罗斯"=>"5"
    );
    print_r(array_keys($arr,"5",true));

    12、array_map()

    将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组。

    array_map(myfunction,array1,array2,array3...)

    $arr=array(1,2,3,4,5);
    function fn($v){
        return $v*2;
    }
    print_r(array_map("fn",$arr));

    13、array_merge()

    把一个或多个数组合并为一个数组。

    array_merge(array1,array2,array3...)

    $arr1=array("中国","美国");
    $arr2=array("英国","法国");
    print_r(array_merge($arr1,$arr2));

    14、array_merge_recursive()

    把一个或多个数组合并为一个数组。该函数与 array_merge() 函数的区别在于处理两个或更多个数组元素有相同的键名时。array_merge_recursive() 不会进行键名覆盖,而是将多个相同键名的值递归组成一个数组。

    array_merge_recursive(array1,array2,array3...)

    $arr1=array(
        "中国"=>"小明",
        "美国"=>"小华"
    );
    $arr2=array(
        "英国"=>"小伟",
        "美国"=>"小猫"
    );
    print_r(array_merge($arr1,$arr2));

    $arr1=array(
        "中国"=>"小明",
        "美国"=>"小华"
    );
    $arr2=array(
        "英国"=>"小伟",
        "美国"=>"小猫"
    );
    print_r(array_merge_recursive($arr1,$arr2));

    15、

  • 相关阅读:
    Sqlserver 实际开发中表变量的用法
    Python Day 20 面向对象 (面向对象的组合用法,面向对象的三大特性
    Python Day 19 面向对象(初识面向对象)
    Python Day 18 常用模块(模块和包)
    Python Day 17 常用模块(常用模块一 时间模块,random模块,os模块,sys模块,序列化模块)
    Python Day 15 函数(递归函数、二分查找算法)
    Python Day 14 函数(内置函数,匿名函数(lambda表达式))
    Python Day 13 函数(迭代器,生成器,列表推导式,生成器表达式)
    Python Day 11 + Python Day 12 函数(函数名的应用,闭包,装饰器)
    Python Day 10 函数(名称空间,作用域,作用域链,加载顺序等; 函数的嵌套 global,nonlocal)
  • 原文地址:https://www.cnblogs.com/xlj-code/p/7143429.html
Copyright © 2011-2022 走看看