天天看点

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

有些函数可以用来确定数组中的值总数及唯一值的个数。使用函数count()对元素个数进行统计,sizeof()函数时count()的别名,他们的功能是一样的。

①函数count()

函数count()的作用是计算数组中的元素数目或对象中的属性个数。对于数组,返回其元素的个数,对于其他值则返回1。如果参数是变量而变量没有定义或是变量包含一个空的数组,该函数会返回0.该函数有两个参数,其函数原型如下:

int count(mixed var [,int mode])

其中第一个参数是必需的,传入要计数的数组或对象。第二个参数是可选的,规定函数的模式是否递归地计算多维数组中的数组的元素个数。可能的值是0和1,0为默认值,不检测多维数组,为1则检测多维数组。函数count()使用的代码如下所示:

1

2

3

4

5

6

7

8

9

10

11

12

13

<?php

$lamp

=

array

(

"Linux"

,

"Apache"

,

"MySQL"

,

"PHP"

);

echo

count

(

$lamp

);         

//输出数组的个数为:4

//声明一个二维数组,统计数组中元素的个数

$web

=

array

(

'lanmp'

=>

array

(

"Linux"

,

"Apache"

,

"MySQL"

,

"PHP"

),

'j2ee'

=>

array

(

"Unix"

,

"Tomcat"

,

"Oracle"

,

"JSP"

)

);

echo

count

(

$web

,1);            

//第二个参数的模式为1则计算多维数组的个数,输出10

echo

count

(

$web

)               

//默认模式为0,不计算数组的个数,输出2

?>

②函数array_count_values()

array_count_values()函数用于统计数组中所有值出现的次数。该函数只有一个参数,其函数的原型如下:

array array_count_values(array input)

参数规定输入一个数组,返回一个数组,其元素的键名是原数组的值,键值是该值在元素组中出现的次数。函数array_count_values()使用的代码如下所示:

1

2

3

4

5

6

7

<?php

$array

=

array

(1,

'php'

,1,

'mysql'

,

'php'

);    

//晟敏跟一个带有重复值得数组

$newArray

=

array_count_values

(

$array

);    

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

print_r(

$newArray

);    

//输出:Array([1]=>2  [php]=>2  [mysql]=>1)

?>

③函数array_unique()

array_unique()函数用于删除数组中重复的值,并返回没有重复值得新数组。该函数的原型如下:

array array_unique(array array)

参数需要接收一个数组,当数组中几个元素的值相等时,只保留一个元素,其他的元素被删除,别且返回的新数组中键名不变。array_unique()先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名。这并不意味着在未排序的array中同一个值的第一个出现的键名会被保留。函数array_unique()使用的代码如下所示:

1

2

3

4

<?php

$a

=

array

(

"a"

=>

"php"

,

"b"

=>

"mysql"

,

"c"

=>

"php"

);           

//声明一个带有重复值的数组

print_r(

array_unique

(

$a

));         

//删除重复值后输出:Array([a]=>php  [b]=>mysql)

?>

>> 本文固定链接: http://php.ncong.com/php_course/arry_function/array_tongji.html

>> 转载请注明: 恩聪php 2014年04月13日 于 恩聪PHP学习教程 发表