当前位置:首页 > PHP教程 > php数组 > 列表

PHP数组常用函数实例小结

发布:smiling 来源: PHP粉丝网  添加日期:2021-10-25 15:20:22 浏览: 评论:0 

这篇文章主要介绍了PHP数组常用函数,结合实例形式总结分析了php针对数组的统计、计算、去重、过滤等相关函数使用技巧,需要的朋友可以参考下。

本文实例讲述了PHP数组常用函数,分享给大家供大家参考,具体如下:

统计数组元素的个数和唯一性

1.count() 函数的作用是计算数组中的元素数目或对象中属性个数。对于数组,返回其元素的个数,对于其他值返回1.

int count(mixed var[,int mode])

第一个参数是必须的,传人个计算的数组或对象。第二个参数是可选,规定函数的模式是否递归地计算多维数组中数组的元素个数,可能的值是0 或1,0为默认值,不检测多维 数组,为 1则检测多维数组,示例:

  1. $a=array("a","b","c","d"); 
  2. echo count($a);//输出个数4 
  3. $b=array("a"=>array(1,2,3),"b"=>array(4,5,6)); 
  4. echo count($b,1);//输出 8 
  5. echo count($b);//输出 2 

2.array_count_values() 函数用于统计数组中所有值出现的次数,该函数只有一个参数

array array_count_values(array input)

参数规定输入一个数组,返回一个数组,其元素的键名是原数组的值,键值是该值在原数组中出现的次数

  1. $array=array(1,"a",1,"b","a"); 
  2. $newarray=array_count_values($array); 
  3. print_r($newarray);//输出array([1]=>2 [a]=>2 [b]=>1) 

3.array_unique()函数用于删除数组中重复的值,并返回没有重复值的新数组

array array_unique(array array)

参数需要接受一个数组,当数组中几个元素的值相等时,只保留第一个元素,其他元素被删除,并且返回的新数组中键名不变,array_unique()先将值作为字符串排序,然后对每个值只保留第一遇到的键名,接着忽略所有后面的键名

示例:

$a=array("a"=>1,"b"=>2,"c"=>1);

print_r(array_unique($a));//输出 array([a]=>1 [b]=>2)

4.array_filter() 函数用回调函数过滤数组中元素,返回按用户自定义函数过滤后的数组

array array_filter(array input [,callback callback])

参数:第一参数是必选项,要求输入一个被过滤的数组,第二参数可选,将用户自定义的函数名以字符串形式传入,如果自定义过滤函数返回true,则被操作的数组的当前值就会被包含在返回的结果数组中,并将结果组成一个新数组,如果原数组是一个关联数组,则键名保持不变。

  1. function myFun($var){ 
  2.  if($var % 2==0){ 
  3.  return true; 
  4.  } 
  5. $array= array("a"=>1,"b"=>2,"c"=>3,"d"=>4); 
  6. print_r($array,"myFun");//输出 array([b]=>2 [d]=>4

5.array_walk()函数对数组中的每个元素应用回调函数处理,如果成功返回true,否则返回false

bool array_walk( array &array,callback funcname [,mixed userdata])

第一个参数是必须,要求输入一个被指定的回调函数处理的数组,第二个参数传人用户定义的回调函数,用于操作传人第一参数的数组

示例:

  1. function myFunc1($value,$key){ 
  2.  echo "key=$key value=$value" 
  3. $a=array("a"=>"lin1","b"=>"lin2","c"=>"lin3"); 
  4. array_walk($a,"myFunc1"); 
  5. function myFunc2($value,$key,$str){ 
  6.  echo "$key $p $value"
  7. array_walk($a,"myFunc2"); 
  8. function myFunc3($value,$key){ 
  9.  $value="lin.su"
  10. array_walk($a,"myFunc3"); 
  11. print_r($a);//$a 是一个引用数组 

6.array_map()函数可以处理多个数组,将回调函数作用到给定数组的元素上,返回用户自定义函数作用后数组。

array array_map(callback callback,array arr1[,arry ....]

示例:

  1. function myFunc($v1,$v2){ 
  2.  if($v1==$v2){ 
  3.   return "same"
  4.  } 
  5.  return "different"
  6. $a=array(1,2,3); 
  7. $b=array(1,4,3); 
  8. print_r(array_map("myFunc",$a,$b));//输出 array([0]=>same [1]=>difference [2]=>same) 
  9. print_r(array_map(null,$a,$b)); 

输出:

  1. array
  2. [0]=>array([0]=>1 [1]=>2 [2]=>3) 
  3. [1]=>array([0]=>1 [1]=>2 [2]=>3) 
  4. )

Tags: PHP数组函数

分享到: