文章教程

7.9统计数组元素个数

9/17/2020 9:40:31 PM 人评论 次浏览

7.9 统计数组元素个数

使用count()函数统计数组的元素个数。

下面的例子介绍count()函数统计数组的元素个数。

【例7.15】(实例文件:ch07\7.15.php)

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/
DTD/xhtml1-transitional.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml">
  <HEAD><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><h2>用count函数统计数
组元素个数。</h2></HEAD>
  <BODY>
  <?php
    $prices_per_day = array('单床房'=> 298,'标准间'=> 268,'三床房'=> 198,'VIP套房'=> 368);
    $roomtypesinfo = array( array( 'type'=>'单床房',
                               'info'=>'此房间为单人单间。',
  				      'price_per_day'=>298
                             ),
  			      array( 'type'=>'标准间',
                               'info'=>'此房间为两床标准配置。',
  				      'price_per_day'=>268
                             ),
  			      array( 'type'=>'三床房',
                               'info'=>'此房间备有三张床',
v'price_per_day'=>198
                             ),
  			      array( 'type'=>'VIP套房',
                               'info'=>'此房间为VIP两间内外套房',
  				      'price_per_day'=>368
                             )
                           );
    echo count($prices_per_day).'个元素在数组$prices_per_day中。<br />';
    echo count($roomtypesinfo).'个内嵌数组在二维数组$roomtypesinfo中。<br />';
    echo count($roomtypesinfo,1).'个元素$roomtypesinfo中。<br />';
  ?>
  </BODY>
  </HTML>

运行结果如图7-16所示。

image

图7-16 程序运行结果

【案例分析】

(1)数组$prices_per_day通过count()函数返回整数4。因为数组$prices_per_day有4个数组元素。

(2)数组$roomtypesinfo为一个二维数组。count($roomtypesinfo)只统计了数组$roomtypesinfo内的4个内嵌数组的数量。

(3)echo count($roomtypesinfo,1)这一语句中,count()函数设置了一个模式(mod)为整数“1”,其意义是,count统计的时候要对数组内部所有的内嵌数组进行循环查询。所以最终的结果是所有内嵌数组的个数加上内嵌数组内元素的个数,即4个内嵌数组加上12个数组元素,为16。

使用array_count_values()函数对数组内的元素值进行统计,并且返回一个以函数值为“键值”,以函数值个数为“元素值”的数组。

下面的例子介绍array_count_values()函数统计数组的元素值个数。

【例7.16】(实例文件:ch07\7.16.php)

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml">
  <HEAD><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><h2>用
array_count_values函数统计数组内元素值。</h2></HEAD>
  <BODY>
  <?php
    $prices_per_day = array('单床房'=> 298,'标准间'=> 268,'三床房'=> 198,'四床房'=> 198,'VIP套房'=> 368);	
    print_r(array_count_values($prices_per_day));
  ?>
  </BODY>
  </HTML>

运行结果如图7-17所示。

image

图7-17 程序运行结果

【案例分析】

(1)数组$prices_per_day为一个联合数组,通过array_count_values($prices_per_day)统计数组内元素值的个数和分布,然后以(键值和值)的形式返回一个数组。元素值为“198”的元素有两个,虽然它们的键值完全不同。

(2)array_count_values()只能用于一维数组。因为它不能将内嵌的数组当作元素进行统计。

教程类别