php数组函数

来源:互联网 发布:小象学院算法视频 编辑:程序博客网 时间:2024/06/06 18:48
array_slice()

语法

array_slice(array,offset,length,preserve)
  array必需。规定输入的数组。offset

必需。数值。规定取出元素的开始位置。

如果是正数,则从前往后开始取,如果是负值,从后向前取 offset 绝对值。

length

可选。数值。规定被返回数组的长度。

如果 length 为正,则返回该数量的元素。

如果 length 为负,则序列将终止在距离数组末端这么远的地方。

如果省略,则序列将从 offset 开始直到 array 的末端。

preserve

可选。可能的值:

  • true - 保留键
  • false - 默认 - 重置键

栗子

<?php$a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");print_r(array_slice($a,1,2));?>

输出:

Array ( [0] => Cat [1] => Horse )

array_shift()

定义和用法

array_shift() 函数删除数组中的第一个元素,并返回被删除元素的值。

注释:如果键是数字的,所有元素都将获得新的键,从 0 开始,并以 1 递增。

语法

array_shift(array)
参数描述array必需。规定输入的数组。

栗子

<?php$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");echo array_shift($a);print_r ($a);?>

输出:

DogArray ( [b] => Cat [c] => Horse )

array_merge()

定义和用法

array_merge() 函数把两个或多个数组合并为一个数组。

如果键名有重复,该键的键值为最后一个键名对应的值(后面的覆盖前面的)。如果数组是数字索引的,则键名会以连续方式重新索引。

注释:如果仅仅向 array_merge() 函数输入了一个数组,且键名是整数,则该函数将返回带有整数键名的新数组,其键名以 0 开始进行重新索引。(参见例子 2)

语法

array_merge(array1,array2,array3...)
参数描述array1必需。输入的第一个数组。array2必需。输入的第二个数组。array3可选。可指定的多个输入数组。

栗子

<?php$a1=array("a"=>"Horse","b"=>"Dog");$a2=array("c"=>"Cow","b"=>"Cat");print_r(array_merge($a1,$a2));?>

输出:

Array ( [a] => Horse [b] => Cat [c] => Cow )

array_intersect()

定义和用法

array_intersect() 函数返回两个或多个数组的交集数组。

结果数组包含了所有在被比较数组中,也同时出现在所有其他参数数组中的值,键名保留不变。

注释:仅有值用于比较。

语法

array_intersect(array1,array2,array3...)
参数描述array1必需。与其他数组进行比较的第一个数组。array2必需。与第一个数组进行比较的数组。array3可选。与第一个数组进行比较的数组。可以有多个。

栗子

<?php$a1=array(0=>"Cat",1=>"Dog",2=>"Horse");$a2=array(3=>"Horse",4=>"Dog",5=>"Fish");print_r(array_intersect($a1,$a2));?>

输出:

Array ( [1] => Dog [2] => Horse )

array_unique()

定义和用法

array_unique() 函数移除数组中的重复的值,并返回结果数组。

当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除。

返回的数组中键名不变。

语法

array_unique(array)
参数描述array必需。规定输入的数组。

说明

array_unique() 先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名。这并不意味着在未排序的 array 中同一个值的第一个出现的键名会被保留。

提示和注释

注释:被返回的数组将保持第一个数组元素的键类型。

栗子

<?php$a=array("a"=>"Cat","b"=>"Dog","c"=>"Cat");print_r(array_unique($a));?>

输出:

Array ( [a] => Cat [b] => Dog )

array_diff()

定义和用法

array_diff() 函数返回两个数组的差集数组。该数组包括了所有在被比较的数组中,但是不在任何其他参数数组中的键值。

在返回的数组中,键名保持不变。

语法

array_diff(array1,array2,array3...)
参数描述array1必需。与其他数组进行比较的第一个数组。array2必需。与第一个数组进行比较的数组。array3可选。与第一个数组进行比较的数组。

提示和注释

提示:可用一个或任意多个数组与第一个数组进行比较。

注释:仅有值用于比较。

栗子

<?php$a1=array(0=>"Cat",1=>"Dog",2=>"Horse");$a2=array(3=>"Horse",4=>"Dog",5=>"Fish");print_r(array_diff($a1,$a2));?>

输出:

Array ( [0] => Cat )
array preg_grep   
 ( string $pattern   , array $input   [, int $flags = 0  ] )
返回给定数组input中与模式pattern   匹配的元素组成的数组.   

参数

pattern

要搜索的模式, 字符串形式.

input

输入数组.

flags

如果设置为PREG_GREP_INVERT, 这个函数返回输入数组中与 给定模式pattern匹配的元素组成的数组.

返回值

返回使用input中key做索引的数组.


0 0