牛骨文教育服务平台(让学习变的简单)
博文笔记

PHP常用数组函数

创建时间:2016-10-10 投稿人: 浏览次数:135

1、array_change_key_case()把数组中所有键更改为小写或大写。

array_change_key_case(array,case);
参数 描述
array 必需。规定要使用的数组。
case

可选。可能的值:

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

2、array_chunk()把一个数组分割为新的数组块。

array_chunk(array,size,preserve_key);
参数 描述
array 必需。规定要使用的数组。
size 必需。整数值,规定每个新数组包含多少个元素。
preserve_key

可选。可能的值:

  • true - 保留原始数组中的键名。
  • false - 默认。每个结果数组使用从零开始的新数组索引。

3、array_column(): 返回输入数组中某个单一列的值。

array_column(array,column_key,index_key);
参数 描述
array 必需。规定要使用的多维数组(记录集)。
column_key

必需。需要返回值的列。

可以是索引数组的列的整数索引,或者是关联数组的列的字符串键值。

该参数也可以是 NULL,此时将返回整个数组(配合 index_key 参数来重置数组键的时候,非常有用)。

index_key 可选。用作返回数组的索引/键的列。

4、array_combine()通过合并两个数组(键名、键值合并成一个)来创建一个新数组。 (注释:两个参数必须有相同数目的元素。一组为键值,另一组为键名。

array_combine(keys,values);
参数 描述
keys 必需。键名数组。
values 必需。键值数组。

5、array_count_values(): 统计数组中所有值出现的次数。

array_count_values(array)
参数 描述
array 必需。规定需要对值进行计数的数组。
返回值: 返回关联数组,其元素的键名是原数组的值,键值是该值在原数组中出现的次数。

6、array_diff()比较数组,返回差集(只比较键值)。

array_diff(array1,array2,array3...);
参数 描述
array1 必需。与其他数组进行比较的第一个数组。
array2 必需。与第一个数组进行比较的数组。
array3,... 可选。与第一个数组进行比较的其他数组。
返回值: 返回差集数组,该数组包括了所有在被比较的数组(array1)中,但是不在任何其他参数数组(array2或 array3 等等)中的键值。

array_diff_assoc()比较数组,返回差集(比较键名和键值)。

array_diff_key()比较数组,返回差集(只比较键名)。

array_diff_uassoc()比较数组,返回差集(比较键名和键值,使用用户自定义的键名比较函数)

array_diff_uassoc(array1,array2,array3...,myfunction);
参数 描述
array1 必需。与其他数组进行比较的第一个数组。
array2 必需。与第一个数组进行比较的数组。
array3,... 可选。与第一个数组进行比较的其他数组。
myfunction 必需。定义可调用比较函数的字符串。如果第一个参数小于、等于或大于第二个参数,则该比较函数必须返回小于、等于或大于 0 的整数。
例:

<?php
function myfunction($a,$b)
{
if ($a===$b)
  {
  return 0;
  }
  return ($a>$b)?1:-1;
}

$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("d"=>"red","b"=>"green","e"=>"blue");

$result=array_diff_uassoc($a1,$a2,"myfunction");
print_r($result);
?>


7、array_filter()用回调函数过滤数组中的元素。

array_filter(array,callbackfunction);
参数 描述
array 必需。规定要过滤的数组。
callbackfunction 必需。规定要使用的回调函数。
返回值: 返回过滤的数组。
<?php
function test_odd($var)
{
return($var & 1);
}

$a1=array("a","b",2,3,4);
print_r(array_filter($a1,"test_odd"));
?>

8、array_flip()交换数组中的键和值。

array_flip(array);
返回值: 如果反转成功,则返回反转后的数组。如果失败,则返回 NULL。

9、array_intersect()比较数组,返回交集(只比较键值)。

array_intersect(array1,array2,array3...);
参数 描述
array1 必需。与其他数组进行比较的第一个数组。
array2 必需。与第一个数组进行比较的数组。
array3,... 可选。与第一个数组进行比较的其他数组。
返回值: 返回交集数组,该数组包括了所有在被比较的数组(array1)中,同时也在任何其他参数数组(array2 或 array3 等等)中的键值。

array_intersect_assoc()比较数组,返回交集(比较键名和键值)。

array_intersect_key()比较数组,返回交集(只比较键名)。

array_intersect_uassoc()比较数组,返回交集(比较键名和键值,使用用户自定义的键名比较函数)。

array_intersect_uassoc(array1,array2,array3...,myfunction)
参数 描述
array1 必需。与其他数组进行比较的第一个数组。
array2 必需。与第一个数组进行比较的数组。
array3,... 可选。与第一个数组进行比较的其他数组。
myfunction 必需。定义可调用比较函数的字符串。如果第一个参数小于、等于或大于第二个参数,则该比较函数必须返回小于、等于或大于 0 的整数。
返回值: 返回交集数组,该数组包括了所有在被比较的数组(array1)中,同时也在任何其他参数数组(array2或 array3 等等)中的键名和键值。

注意,与 array_intersect() 不同的是除了比较键值,还要比较键名。

此比较是通过用户提供的回调函数来进行的。该函数带有两个参数,即两个要进行对比的键名。如果第一个参数小于第二个参数,则函数要返回一个负数,如果两个参数相等,则要返回 0,如果第一个参数大于第二个参数,则返回一个正数。


10、array_key_exists()检查指定的键名是否存在于数组中。

array_key_exists(key,array)
参数 描述
key 必需。规定键名。
array 必需。规定数组。
返回值: 如果键名存在则返回 TRUE,如果键名不存在则返回 FALSE。

11、array_keys()返回数组中所有的键名。

array_keys(array,value,strict)
参数 描述
array 必需。规定数组。
value 可选。您可以指定键值,然后只有该键值对应的键名会被返回。
strict

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

  • true - 返回带有指定键值的键名。依赖类型,数字 5 与字符串 "5" 是不同的。
  • false - 默认值。不依赖类型,数字 5 与字符串 "5" 是相同的。

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

12、array_map()把数组中的每个值发送到用户自定义函数,返回新的值。

array_map(myfunction,array1,array2,array3...)
参数 描述
myfunction 必需。用户自定义函数的名称,或者是 null。
array1 必需。规定数组。
array2 可选。规定数组。
array3 可选。规定数组。
返回值: 返回包含 array1 的值的数组,在向每个值应用自定义函数后。
例:一个数组
<?php
function myfunction($v)
{
if ($v==="Dog")
  {
  return "Fido";
  }
return $v;
}

$a=array("Horse","Dog","Cat");
print_r(array_map("myfunction",$a));
?>
例:两个数组
<?php
function myfunction($v1,$v2)
{
if ($v1===$v2)
  {
  return "same";
  }
return "different";
}

$a1=array("Horse","Dog","Cat");
$a2=array("Cow","Dog","Rat");
print_r(array_map("myfunction",$a1,$a2));
?>

13、array_merge()把一个或多个数组合并为一个数组。(非键名、键值合并)

array_merge(array1,array2,array3...)
参数 描述
array1 必需。规定数组。
array2 可选。规定数组。
array3 可选。规定数组。
返回值: 返回合并的数组。

14、array_multisort()对多个数组或多维数组进行排序。

array_multisort(array1,sorting order,sorting type,array2,array3...)
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。