PHP数组 函数速查表

来源:互联网 发布:淘宝卖家中心怎么进入 编辑:程序博客网 时间:2024/06/11 13:49

标题 ##PHP数组 函数速查表

1、array_change_key_case

    返回字符串键名全为小写或大写的数组    array array_change_key_case ( array $input [, int $case = CASE_LOWER ] )    array_change_key_case() 将 input 数组中的所有键名改为全小写或大写。改变是根据后一个选项 case 参数来进行的。本函数不改变数字索引。    case可以在这里用两个常量,CASE_UPPER 或 CASE_LOWER(默认值)。一个键全是小写或者全是大写的数组;如果输入值(input)不是一个数组,那么返回FALSE

2、array_chunk

    将一个数组分割成多个    array array_chunk ( array $input , int $size [, bool $preserve_keys = false ] )

将一个数组分割成多个数组,其中每个数组的单元数目由 size 决定。最后一个数组的单元数目可能会少于 size 个。

3、array_column

    返回数组中指定的一列    array array_column ( array $input , mixed $column_key [, mixed $index_key ] )    array_column() 返回input数组中键值为column_key的列, 如果指定了可选参数index_key,那么input数组中的这一列的值将作为返回数组中对应值的键。

4、array_combine

    创建一个数组、用一个数组的值作为其键名,另一个数组的值作为其值    array array_combine ( array $keys , array $values )返回一个 array,用来自 keys 数组的值作为键名,来自 values 数组的值作为相应的值。

5、array_count_values

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

6、array_diff_assoc

    带索引检查计算数组的差集    array array_diff_assoc ( array $array1 , array $array2 [, array $... ] )    array_diff_assoc() 返回一个数组,该数组包括了所有在 array1 中但是不在任何其它参数数组中的值。注意和 array_diff() 不同的是键名也用于比较。

7、array_diff_key

    使用键名比较计算数组的差集    array array_diff_key ( array $array1 , array $array2 [, array $... ] )    根据 array1 中的键名和 array2 进行比较,返回不同键名的项。 本函数和 array_diff() 相同只除了比较是根据键名而不是值来进行的。

8、array_diff_uassoc

    用户提供的回调函数做索引检查来计算数组的差集    <?phpfunction key_compare_func($a, $b){if ($a === $b) {    return 0;}return ($a > $b)? 1:-1;

}

    $array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");$array2 = array("a" => "green", "yellow", "red");$result = array_diff_uassoc($array1, $array2, "key_compare_func");print_r($result);?> 结果: Array([b] => brown[c] => blue[0] => red)

9、array_diff_ukey

    用回调函数对键名比较计算数组的差集

10、 array_diff

    计算数组的差集    array array_diff ( array $array1 , array $array2 [, array $... ] )对比返回在 array1 中但是不在 array2 及任何其它参数数组中的值。

11、array_fill_keys

    使用指定的键和值填充数组    array array_fill_keys ( array $keys , mixed $value )使用 value 参数的值作为值,使用 keys 数组的值作为键来填充一个数组。

12、array_fill

    用给定的值填充数组    array array_fill ( int $start_index , int $num , mixed $value )array_fill() 用 value 参数的值将一个数组填充 num 个条目,键名由 start_index 参数指定的开始。

13、array_filter

    用回调函数过滤数组中的单元    array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )依次将 array 数组中的每个值传递到 callback 函数。如果 callback 函数返回 TRUE,则 input 数组的当前值会被包含在返回的结果数组中。数组的键名保留不变。

14、array_flip

    交换数组中的键和值    array array_flip ( array $trans )array_flip() 返回一个反转后的 array,例如 trans 中的键名变成了值,而 trans 中的值成了键名。注意 trans 中的值需要能够作为合法的键名,例如需要是 integer 或者 string。如果值的类型不对将发出一个警告,并且有问题的键/值对将不会反转。如果同一个值出现了多次,则最后一个键名将作为它的值,所有其它的都丢失了。

15、array_intersect_assoc

    带索引检查计算数组的交集    array array_intersect_assoc ( array $array1 , array $array2 [, array $ ... ] )array_intersect_assoc() 返回一个数组,该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值。注意和 array_intersect() 不同的是键名也用于比较。   

16、array_intersect_key

    使用键名比较计算数组的交集    array array_intersect_key ( array $array1 , array $array2 [, array $ ... ] )array_intersect_key() 返回一个数组,该数组包含了所有出现在 array1 中并同时出现在所有其它参数数组中的键名的值。

17、array_intersect_uassoc

    带索引检查计算数组的交集,用回调函数比较索引    array array_intersect_uassoc ( array $array1 , array $array2 [, array $ ... ], callable $key_compare_func )array_intersect_uassoc() 返回一个数组,该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值。注意和 array_intersect() 不同的是键名也用于比较。

18、array_intersect_ukey

    用回调函数比较键名来计算数组的交集    array array_intersect_ukey ( array $array1 , array $array2 [, array $... ], callable $key_compare_func )array_intersect_ukey() 返回一个数组,该数组包含了所有出现在 array1 中并同时出现在所有其它参数数组中的键名的值。

19、array_intersect

    计算数组的交集    array array_intersect ( array $array1 , array $array2 [, array $ ... ] )array_intersect() 返回一个数组,该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值。注意键名保留不变。<?php$array1 = array("a" => "green", "red", "blue");$array2 = array("b" => "green", "yellow", "red");$result = array_intersect($array1, $array2);print_r($result);?>以上例程会输出:Array([a] => green[0] => red)

20、array_key_exists

    检查给定的键名或索引是否存在于数组中    bool array_key_exists ( mixed $key , array $search )array_key_exists() 在给定的 key 存在于数组中时返回 TRUE。key 可以是任何能作为数组索引的值。array_key_exists() 也可用于对象。Example #2 array_key_exists() 与 isset() 的对比isset() 对于数组中为 NULL 的值不会返回 TRUE,而 array_key_exists() 会。

21、array_keys

    返回数组中部分的或所有的键名    array array_keys ( array $array [, mixed $search_value [, bool $strict = false ]] )array_keys() 返回 input 数组中的数字或者字符串的键名。如果指定了可选参数 search_value,则只返回该值的键名。否则 input 数组中的所有键名都会被返回。

22、array_map

    为数组的每个元素应用回调函数    array array_map ( callable $callback , array $array1 [, array $... ] )array_map():返回数组,是为 array1 每个元素应用 callback函数之后的数组。 callback 函数形参的数量和传给 array_map() 数组数量,两者必须一样。<?phpfunction cube($n){return($n * $n * $n);}$a = array(1, 2, 3, 4, 5);$b = array_map("cube", $a);print_r($b);?>这使得 $b 成为:Array([0] => 1[1] => 8[2] => 27[3] => 64[4] => 125)

23、array_merge_recursive

    递归地合并一个或多个数组    array array_merge_recursive ( array $array1 [, array $... ] )array_merge_recursive() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。如果输入的数组中有相同的字符串键名,则这些值会被合并到一个数组中去,这将递归下去,因此如果一个值本身是一个数组,本函数将按照相应的条目把它合并为另一个数组。然而,如果数组具有相同的数组键名,后一个值将不会覆盖原来的值,而是附加到后面。<?php$ar1 = array("color" => array("favorite" => "red"), 5);$ar2 = array(10, "color" => array("favorite" => "green", "blue"));$result = array_merge_recursive($ar1, $ar2);print_r($result);?>以上例程会输出:Array([color] => Array    (        [favorite] => Array            (                [0] => red                [1] => green            )        [0] => blue    )[0] => 5[1] => 10

)

24、array_merge

    合并一个或多个数组    array array_merge ( array $array1 [, array $... ] )array_merge() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。

25、array_multisort

    对多个数组或多维数组进行排序    bool array_multisort ( array &$arr [, mixed $arg = SORT_ASC [, mixed $arg = SORT_REGULAR [, mixed $... ]]] )array_multisort() 可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序。关联(string)键名保持不变,但数字键名会被重新索引。排序顺序标志:SORT_ASC - 按照上升顺序排序SORT_DESC - 按照下降顺序排序排序类型标志:SORT_REGULAR - 将项目按照通常方法比较SORT_NUMERIC - 将项目按照数值比较SORT_STRING - 将项目按照字符串比较每个数组之后不能指定两个同类的排序标志。每个数组后指定的排序标志仅对该数组有效 - 在此之前为默认值 SORT_ASC 和 SORT_REGULAR。输入数组被当成一个表的列并以行来排序——这类似于 SQL 的 ORDER BY 子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话就按照下一个输入数组中相应值的大小来排序,依此类推。本函数的参数结构有些不同寻常,但是非常灵活。第一个参数必须是一个数组。接下来的每个参数可以是数组或者是下面列出的排序标志。

26、array_pad

    用值将数组填补到指定长度    array array_pad ( array $input , int $pad_size , mixed $pad_value )array_pad() 返回 input 的一个拷贝,并用 pad_value 将其填补到 pad_size 指定的长度。如果 pad_size 为正,则填补到数组的右侧,如果为负则从左侧开始填补。如果 pad_size 的绝对值小于或等于 input 数组的长度则没有任何填补。有可能一次最多填补 1048576 个单元。

27、array_pop

    将数组最后一个单元弹出(出栈)    mixed array_pop ( array &$array )array_pop() 弹出并返回 array 数组的最后一个单元,并将数组 array 的长度减一。如果 array 为空(或者不是数组)将返回 NULL。 此外如果被调用不是一个数则会产生一个 Warning。Note: 使用此函数后会重置(reset())array 指针。

28、array_product

    计算数组中所有值的乘积

29、array_push

    将一个或多个单元压入数组的末尾(入栈)    int array_push ( array &$array , mixed $var [, mixed $... ] )array_push() 将 array 当成一个栈,并将传入的变量压入 array 的末尾。array 的长度将根据入栈变量的数目增加。和如下效果相同:<?php$array[] = $var;?>并对每个 var 重复以上动作。Note: 如果用 array_push() 来给数组增加一个单元,还不如用 $array[] = ,因为这样没有调用函数的额外负担。Note: 如果第一个参数不是数组,array_push() 将发出一条警告。这和 $var[] 的行为不同,后者会新建一个数组。

30、array_rand

    从数组中随机取出一个或多个单元    mixed array_rand ( array $input [, int $num_req = 1 ] )从数组中取出一个或多个随机的单元,并返回随机条目的一个或多个键。

31、array_reduce

    用回调函数迭代地将数组简化为单一的值    mixed array_reduce ( array $input , callable $function [, mixed $initial = NULL ] )array_reduce() 将回调函数 function 迭代地作用到 input 数组中的每一个单元中,从而将数组简化为单一的值。

32、array_replace_recursive

    使用传递的数组递归替换第一个数组的元素    array array_replace_recursive ( array $array1 , array $array2 [, array $... ] )array_replace_recursive() 使用后面数组元素的值替换数组 array1 的值。 如果一个键存在于第一个数组同时也存在于第二个数组,它的值将被第二个数组中的值替换。 如果一个键存在于第二个数组,但是不存在于第一个数组,则会在第一个数组中创建这个元素。 如果一个键仅存在于第一个数组,它将保持不变。 如果传递了多个替换数组,它们将被按顺序依次处理,后面的数组将覆盖之前的值。array_replace_recursive() 是递归的:它将遍历数组并将相同的处理应用到数组的内部值。如果数组 array1 中的值是标量,它的值将被第二个数组 array2 中的值替换,它可能是一个标量或者数组。如果 array1 和 array2 中的值都是数组,array_replace_recursive() 函数将递归地替换它们各自的值。

33、array_replace

    使用传递的数组替换第一个数组的元素    array array_replace ( array $array1 , array $array2 [, array $... ] )array_replace() 函数使用后面数组元素相同 key 的值替换 array1 数组的值。如果一个键存在于第一个数组同时也存在于第二个数组,它的值将被第二个数组中的值替换。如果一个键存在于第二个数组,但是不存在于第一个数组,则会在第一个数组中创建这个元素。如果一个键仅存在于第一个数组,它将保持不变。如果传递了多个替换数组,它们将被按顺序依次处理,后面的数组将覆盖之前的值。array_replace() 是非递归的:它将第一个数组的值进行替换而不管第二个数组中是什么类型。

34、array_reverse

    返回一个单元顺序相反的数组    <?php$input  = array("php", 4.0, array("green", "red"));$result = array_reverse($input);$result_keyed = array_reverse($input, true);?>这将使 $result 和 $result_keyed 具有相同的单元,但是注意键名的区别。$result 和 $result_keyed 的打印输出显示分别为:Array([0] => Array    (        [0] => green        [1] => red    )[1] => 4[2] => php)Array([2] => Array    (        [0] => green        [1] => red    )[1] => 4[0] => php)

35、array_search

    在数组中搜索给定的值,如果成功则返回相应的键名    mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )在 haystack 中搜索 needle 参数。

36、array_shift

    将数组开头的单元移出数组    mixed array_shift ( array &$array )array_shift() 将 array 的第一个单元移出并作为结果返回,将 array 的长度减一并将所有其它单元向前移动一位。所有的数字键名将改为从零开始计数,文字键名将不变。Note: 使用此函数后会重置(reset())array 指针。

37、array_slice

    从数组中取出一段    array array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] )array_slice() 返回根据 offset 和 length 参数所指定的 array 数组中的一段序列。

38、array_splice

    把数组中的一部分去掉并用其他值取代    array array_splice ( array &$input , int $offset [, int $length = 0 [, mixed $replacement ]] )把 input 数组中由 offset 和 length 指定的单元去掉,如果提供了 replacement 参数,则用其中的单元取代。注意 input 中的数字键名不被保留。Note: If replacement is not an array, it will be typecast to one (i.e. (array) $parameter). This may result in unexpected behavior when using an object or NULL replacement.

39、array_sum

    计算数组中所有值的和

40、array_udiff_assoc

    带索引检查计算数组的差集,用回调函数比较数据    array array_udiff_assoc ( array $array1 , array $array2 [, array $ ... ], callable $data_compare_func )此比较是通过用户提供的回调函数来进行的。如果认为第一个参数小于,等于,或大于第二个参数时必须分别返回一个小于零,等于零,或大于零的整数。Note: 注意本函数只检查了多维数组中的一维。当然,可以用 array_udiff_assoc($array1[0], $array2[0], "some_comparison_func"); 来检查更深的维度。

41、array_udiff_uassoc

    带索引检查计算数组的差集,用回调函数比较数据和索引    array array_udiff_uassoc ( array $array1 , array $array2 [, array $ ... ], callable $data_compare_func , callable $key_compare_func )array_udiff_uassoc() 返回一个数组,该数组包括了所有在 array1 中但是不在任何其它参数数组中的值。注意和 array_diff() 与 array_udiff() 不同的是键名也用于比较。

42、array_udiff

    用回调函数比较数据来计算数组的差集    array array_udiff ( array $array1 , array $array2 [, array $ ... ], callable $data_compare_func )array_udiff() 返回一个数组,该数组包括了所有在 array1 中但是不在任何其它参数数组中的值。注意键名保持不变。数据的比较是用 data_compare_func 进行的。如果认为第一个参数小于,等于,或大于第二个参数时必须分别返回一个小于零,等于零,或大于零的整数。这和 array_diff() 不同,后者使用了内部函数来比较数据。

43、array_uintersect_assoc

    带索引检查计算数组的交集,用回调函数比较数据    array array_uintersect_assoc ( array $array1 , array $array2 [, array $ ... ], callable $data_compare_func )此比较是通过用户提供的回调函数来进行的。如果认为第一个参数小于,等于,或大于第二个参数时必须分别返回一个小于零,等于零,或大于零的整数。注意和 array_uintersect() 不同的是键名也要比较。数据是用回调函数比较的。

44、array_uintersect_uassoc

    带索引检查计算数组的交集,用回调函数比较数据和索引    array array_uintersect_uassoc ( array $array1 , array $array2 [, array $ ... ], callable $data_compare_func , callable $key_compare_func )通过额外的索引检查、回调函数比较数据和索引来返回多个数组的交集。注意和 array_uintersect() 不同的是键名也要比较。数据和索引都是用回调函数比较的。

45、array_uintersect

    计算数组的交集,用回调函数比较数据    array array_uintersect ( array $array1 , array $array2 [, array $ ... ], callable $data_compare_func )array_uintersect() 返回一个数组,该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值。数据比较是用回调函数进行的。 此比较是通过用户提供的回调函数来进行的。如果认为第一个参数小于,等于,或大于第二个参数时必须分别返回一个小于零,等于零,或大于零的整数。

46、array_unique

    移除数组中重复的值    array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )array_unique() 接受 array 作为输入并返回没有重复值的新数组。注意键名保留不变。array_unique() 先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名。这并不意味着在未排序的 array 中同一个值的第一个出现的键名会被保留。Note: 当且仅当 (string) $elem1 === (string) $elem2 时两个单元被认为相同。就是说,当字符串的表达一样时。 第一个单元将被保留。

47、array_unshift

    在数组开头插入一个或多个单元    int array_unshift ( array &$array , mixed $var [, mixed $... ] )array_unshift() 将传入的单元插入到 array 数组的开头。注意单元是作为整体被插入的,因此传入单元将保持同样的顺序。所有的数值键名将修改为从零开始重新计数,所有的文字键名保持不变。

48、array_values

    返回数组中所有的值

49、array_walk_recursive

    对数组中的每个成员递归的应用用户函数

50、array_walk

    使用用户自定义函数对数组中的每个元素做回调处理    bool array_walk ( array &$array , callable $callback [, mixed $userdata = NULL ] )将用户自定义函数 funcname 应用到 array 数组中的每个单元。array_walk() 不会受到 array 内部数组指针的影响。array_walk() 会遍历整个数组而不管指针的位置。

51、array

    新建一个数组

52、arsort

    对数组进行逆向排序并保持索引关系

53、asort

    对数组进行排序并保持索引关系

54、compact

    建立一个数组、包括变量名和它们的值

55、count

    计算数组中的单元数目或对象中的属性个数

56、current

    返回数组中的当前单元

57、each

    返回数组中当前的键/值对并将数组指针向前移动一步

58、end

    将数组的内部指针指向最后一个单元

59、extract

    从数组中将变量导入到当前的符号表

60、in_array

    检查数组中是否存在某个值

61、key_exists

    key_exists — 别名 array_key_exists()

62、key

    从关联数组中取得键名

63、krsort

    对数组按照键名逆向排序

64、ksort

    对数组按照键名排序

65、list

    把数组中的值赋给一些变量

66、natcasesort

    用“自然排序”算法对数组进行不区分大小写字母的排序

67、natsort

    用“自然排序”算法对数组排序

68、next

    将数组中的内部指针向前移动一位

69、pos

    current()的别名

70、prev

    将数组的内部指针倒回一位

71、range

    建立一个包含指定范围单元的数组

72、reset

    将数组的内部指针指向第一个单元

73、rsort

    对数组逆向排序

74、shuffle

    将数组打乱

75、sizeof

    count()的别名

76、sort

    对数组排序

77、uasort

    使用用户自定义的比较函数对数组中的值进行排序并保持索引关联

78、uksort

    使用用户自定义的比较函数对数组中的键名进行排序

79、usort

    使用用户自定义的比较函数对数组中的值进行排序bool usort ( array &$array , callable $cmp_function )本函数将用用户自定义的比较函数对一个数组中的值进行排序。如果要排序的数组需要用一种不寻常的标准进行排序,那么应该使用此函数。Note:如果两个成员比较结果相同,则它们在排序后的数组中的顺序未经定义。Note: 此函数为 array 中的元素赋与新的键名。这将删除原有的键名,而不是仅仅将键名重新排序。
0 0
原创粉丝点击