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、

原文地址:https://www.cnblogs.com/xlj-code/p/7143429.html