PHP5薄荷教程[21]数组操作函数(2)

四、统计
1、int count ( mixed var [, int mode] )
  或int sizeof ( mixed var [, int mode] )
  返回var中所含有的元素数。var一般是数组类型,因为其他类型的元素数都是1,null是0。如果mode设为COUNT_RECURSIVE(或1),那么多维数组的所有元素都将被统计。
2、bool in_array ( mixed needle, array haystack [, bool strict] )
  判断needle是否在haystack中,如果strict为true,则类型也必须符合。
3、bool array_key_exists ( mixed key, array search )
  判断key是否为search中的一个键名。
4、array array_count_values ( array input )
  统计input中各元素出现的次数,并以这个元素的值为键名,次数为值返回一个数组。
5、array array_intersect ( array array1, array array2 [, array ...] )
  如果array1中的一个元素在其后的数组中都出现,那么这个元素将被返回到新的数组。
6、array array_intersect_assoc ( array array1, array array2 [, array ...] )
  如果array1中的一个元素在其后的数组中都出现(键、值都要配对),那么这个元素将被返回到新的数组。
7、array array_intersect_key ( array array1, array array2 [, array ...] )
  如果array1中的一个元素的键名在其后的数组中都出现,那么这个元素将被返回到新的数组。
8、array array_keys ( array input [, mixed search_value] )
  返回input中所有的键名。如果search_value被指定,则返回键名是search_value的元素的索引。
9、array array_values ( array input )
  返回input中所有的元素,重新索引。

五、比较
1、array array_diff ( array array1, array array2 [, array ...] )
  如果array1中的一个元素在其后的数组中都未出现,那么这个元素将被返回到新的数组。
2、array array_diff_assoc ( array array1, array array2 [, array ...] )
  如果array1中的一个元素在其后的数组中都未出现(成对的键、值都未出现),那么这个元素将被返回到新的数组。
3、array array_diff_key ( array array1, array array2 [, array ...] )
  如果array1中的一个元素的键名在其后的数组中都未出现,那么这个元素将被返回到新的数组。

六、指针操作
  所有的数组都有一个内部的指针,当数组合被创建时,指针指向第一项。
1、mixed current ( array &array )
  返回当前指针所指元素的值。如果元素为空,则返回false。
2、mixed next ( array &array )
  将指针向后移动一项,并返回其值。如果后面没有项了,则返回false。
3、mixed prev ( array &array )
  将指针向前移动一项,并返回其值。如果前面没有项了,则返回false。
4、mixed reset ( array &array )
  将指针移到第一项,并返回其值。如果数组为空,则返回false。
5、mixed end ( array &array )
  将指针移到最后一项,并返回其值。如果数组为空,则返回false。
6、mixed key ( array &array )
  返回当前指针所指元素的键名。如果元素为空,则返回false。
7、array each ( array &array )
  返回当前指针所指元素的键、值。如果数组为空,则返回false。如:
$arr=array('k1'=>'v1','k2'=>'v2');
print_r(each($arr));
输出:Array ( [0] => k1 [key] => k1 [1] => v1 [value] => v1 )

七、堆栈操作
1、mixed array_shift ( array &array )
  该函数将数组中第一个元素取出并返回其值,因此数组的长度会减少1,用数字索引的键名将重新从0排序,字符串键名不会受影响。如果数组为空,则返回null。
2、int array_unshift ( array &array, mixed var [, mixed ...] )
  该函数将后面的参数按顺序加入到数组array的顶部。用数字索引的键名将重新从0排序,字符串键名不会受影响。
3、mixed array_pop ( array &array )
  该函数将数组中最后一个元素取出并返回其值,因此数组的长度会减少1,用数字索引的键名将重新从0排序,字符串键名不会受影响。如果数组为空,则返回null。
4、int array_push ( array &array, mixed var [, mixed ...] )
  该函数将后面的参数按顺序加入到数组array的尾部。用数字索引的键名将重新从0排序,字符串键名不会受影响。

八、其他
1、void list ( mixed varname, mixed ... )
  将几个变量看作数组处理。如list(1,2,3)就相当于array(1,2,3)。
2、mixed array_search ( mixed needle, array haystack [, bool strict] )
  在haystack中搜索值为needle的元素并返回它们的键名。如果strict为true,则搜索时类型也要匹配。
3、mixed array_rand ( array input [, int num_req] )
  在input中随机抽去num_req个元素(默认为1),并返回。
4、array array_flip ( array trans )
  将所有元素的键、值对换,且后者覆盖前者。
5、array array_unique ( array array )
  将array中重复的元素去掉,键名取第一次出现的。
6、number array_sum ( array array )
  将数组中的元素全部相加,并返回。非数字元素就进行转换,规则同intval()。
7、array array_change_key_case ( array input [, int case] )
  将数组input的所有键名按照case指定的模式进行大小写转换并返回。case可取CASE_UPPER或CASE_LOWER。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值