169it科技资讯
169it -->


当前位置:  编程技术>php

php获取数组长度的方法举例

    来源: 互联网  发布时间:2014-10-13

本节内容:
php数组长度的获取方法。

在php编程中,取得php数组长度的方法有很多,php提供了两个函数可以计算一维数组长度,如count、sizeof都可以直接统计数组长度。
有时,也需要获取二维数组的长度。

来看几个实例。
php如何获取数组的长度,使用php函数count(),或sizeof()。
例如:
 

代码示例:
<?php
$arr = Array('0','1','2','3','4');
echo count($arr);
// 输出 5
// www.
$arr = array('A','B','C');
echo sizeof($arr);
//输出3

sizeof()和count()殊途同归,这两个函数都可以返回数组元素个数。
可以得到一个常规标量变量中的元素个数,如果传递给这个函数的数组是一个空数组,或一个没有经过设定的变量,返回的数组元素个数就是0;
两函数功能一样,php手册上讲,sizeof()是函数count()的别名。

统计多维数组长度

例子,读取的数组是一个二维数组:
 

代码示例:
<?php
$arr=array(
   0=>array('title' => '新闻1', 'viewnum' => 123, 'content' => 'ZAQXSWedcrfv'),
   1=>array('title' => '新闻2', 'viewnum' => 99, 'content' => 'QWERTYUIOPZXCVBNM')
);
?>
 

假若想统计数组$arr的长度,即该二维数组只有两条新闻,想要的数字也是2,但是如果使用count($arr)不同版本的php,统计的结果是不一样的;
后来在php手册中发现,count函数还有第二个参数,解释如下:
count函数有两个参数:
0(或COUNT_NORMAL)为默认,不检测多维数组(数组中的数组);
1(或COUNT_RECURSIVE)为检测多维数组,

因此,判断读取的数组$arr是不是有新闻信息,可以这样:
 

<?php
if(is_array($arr) && count($arr,COUNT_NORMAL)>0 )
{
  .....
} else {
  .....
}
?>

测试该函数:
 

代码示例:
<?php
$arr=array(
 0=>array('title' => '新闻1', 'viewnum' => 123, 'content' => 'ZAQXSWedcrfv'),
 1=>array('title' => '新闻2', 'viewnum' => 99, 'content' => 'QWERTYUIOPZXCVBNM')
 );
echo '不统计多维数组:'.count($arr,0);//count($arr,COUNT_NORMAL)
echo "<br/>";
echo '统计多维数组:'.count($arr,1);//count($arr,COUNT_RECURSIVE)
?>

    
相关技术文章:
    ▪判断php数组维度(php数组长度)的方法

     本节内容: php数组维度的判断方法 例子,判断php数组维度。   代码示例: <?php /**  * 返回数组的维度  * @param  [type] $arr [description]  * @return [type]      [description]  */ www. function arrayLevel($arr){     $al = array(0);     function aL($arr,&$al,$level=0){         if(is_array($arr)){             $level++;             $al[] = $level;             foreach($arr as $v){                 aL($v,$al,$level);             }         }     }  ......


    ▪php获取图片的exif信息的示例代码

     本节内容: php获取图片的exif信息。 在php语言中,有一个自带的exif_read_data函数可以用来读取图片的exif信息,具体使用方法请参考php手册中的相关内容。 例子:   代码示例: <?php /** * 获取图片的exif信息 * edit: www. */ echo "test1.jpg:<br />\n"; $exif = exif_read_data('tests/test1.jpg', 'IFD0'); echo $exif===false ? "No header data found.<br />\n" : "Image contains headers<br />\n";   $exif = exif_read_data('tests/test2.jpg', 0, true); echo "test2.jpg:<br />\n"; foreach ($exif as $key => $section) {     f......


    ▪PHP 数组key长度对性能的影响实例分析

     本节内容: PHP 数组key长度对性能的影响 不知道大家是否关注过php编程中,有关数组长度对性能的影响。 例子:   代码示例: <?php echo '次  |  长key(ms)  |  短key(ms)  |'."\n"; echo '--------------------------------------'."\n"; for($i = 1; $i <= 10; $i++){  echo $i.'  |  ';  $keyArr  = array(   'aaffdggererrer4eaaffdggererrer4e',   'aaffdggererrer4eaaffdggererrer5e',   'aaffdggererrer4eaaffdggererrer6e',   'aaffdggererrer4eaaffdggererrer7e',   'aaffdggererrer4eaaffdggererrer8e',   'aaffdggererrer4eaaffdggererrer9e'......


 
最新技术文章:
    ▪PHP函数microtime()时间戳的定义与用法

     本节内容: PHP函数microtime() 定义和用法 microtime()返回当前 Unix 时间戳和微秒数。 microtime()语法 microtime(get_as_float) microtime()参数与描述 get_as_float 如果给出了 get_as_float 参数并且其值等价于 TRUE,该函数将返回一个浮点数。 说明 microtime()仅在支持 gettimeofday() 系统调用的操作系统下可用。 如果调用时不带可选参数,本函数以 "msec sec" 的格式返回一个字符串,其中 sec 是自 Unix 纪元(0:00:00 January 1, 1970 GMT)起到现在的秒数,msec 是微秒部分。字符串的两部分都是以秒为单位返回的。 例子:   代码示例......


    ▪PHP单一入口之apache配置内容

     本节内容: PHP单一入口 在apache配置文件httpd.conf加入,去掉LoadModule rewrite_module modules/mod_rewrite.so前面的“#”号。 内容:   代码示例: DocumentRoot / <Directory />     Options Indexes FollowSymLinks MultiViews     AllowOverride None     #AllowOverride All <IfModule mod_rewrite.c>   RewriteEngine on   RewriteBase /   #不显示index.php   RewriteCond %{REQUEST_FILENAME} !-d   RewriteCond %{REQUEST_FILENAME} !-f   RewriteRule  ^/?(.*)$ /index.php?%{QUERY_STRING} [L,NC]   #RewriteRule ^(.*)$ index.php?$1 [QSA,L]  </IfM......


    ▪PHP数组排序方法总结(收藏)

     本节内容: 快速创建数组的函数range()和常见PHP数组排序的方法。   本文主要介绍php数组排序、降序的排序相关的内容。   sort:本函数为 array 中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。 rsort:本函数对数组进行逆向排序(最高到最低)。 删除原有的键名而不仅是重新排序。 asort:对数组进行排序并保持索引关系 arsort:对数组进行逆向排序并保持索引关系 ksort:对数组按照键名排序,保留键名到数据的关联 krsort:对数组按照键名逆向排序,保留键名到数据的关联 natsort:对字母数字......


 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2017,169IT.COM,E-mail:www_169it_com#163.com(请将#改为@)

浙ICP备11055608号