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

有些函数可以用来确定数组中的值总数及唯一值的个数。使用函数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)
?>
 
原文地址:https://www.cnblogs.com/ncong/p/3899196.html