php中数组长度的获取,JavaScript数组长度的获取

来源:互联网 发布:python转义字符 编辑:程序博客网 时间:2024/06/06 03:59

php中数组长度的获取

在php中获取数组长度方法很简单,php为我们提供了两个函数可以计算一维数组长度,如count,sizeof都可以直接统计数组长度哦,下面我们来看几个实例吧。
php如何获取数组的长度,使用php函数count(),或是sizeof()
例如:

代码如下:


<span style="font-family:SimSun;font-size:18px;">$arr = Array('0','1','2','3','4'); echo count($arr);// 输出 5$arr = array('A','B','C');echo sizeof($arr);//输出3</span>



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

那么多维数组长度要怎么统计呢?继续看例子
比如你读取的数组是一个二维数组:
 代码如下:

<span style="font-family:SimSun;font-size:18px;"><?php$arr=array(                 0=>array('title' => '新闻1', 'viewnum' => 123, 'content' => 'ZAQXSWedcrfv'),                 1=>array('title' => '新闻2', 'viewnum' => 99, 'content' => 'QWERTYUIOPZXCVBNM')                );?></span>



如果你想统计数组$arr的长度,也就是说该二维数组只有两条新闻,你想要的数字也是2,但是如果使用count($arr)不同版本的php,统计的结果是不一样的;
后来在php手册中发现,count函数还有第二个参数,解释如下:
count函数有两个参数:
0(或COUNT_NORMAL)为默认,不检测多维数组(数组中的数组);
1(或COUNT_RECURSIVE)为检测多维数组,
所以如果要判断读取的数组$arr是不是有新闻信息,就要这样写了:
代码如下:

<span style="font-family:SimSun;font-size:18px;"><?phpif(is_array($arr) && count($arr,COUNT_NORMAL)>0 ){  .....} else {  .....}?></span>



你可以使用这样的代码来测试该函数:
代码如下:

<span style="font-family:SimSun;font-size:18px;"><?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)?></span>

JavaScript数组长度的获取

length 属性

    Length属性表示数组的长度,即其中元素的个数。因为数组的索引总是由0开始,所以一个数组的上下限分别是:0和length-1。和其他大多数语言不同的是,JavaScript数组的length属性是可变的,这一点需要特别注意。当length属性被设置得更大时,整个数组的状态事实上不会发生变化,仅仅是length属性变大;当length属性被设置得比原来小时,则原先数组中索引大于或等于length的元素的值全部被丢失。下面是演示改变length属性的例子:

<span style="font-family:SimSun;font-size:18px;">var arr=[12,23,5,3,25,98,76,54,56,76];//定义了一个包含10个数字的数组alert(arr.length); //显示数组的长度10arr.length=12; //增大数组的长度alert(arr.length); //显示数组的长度已经变为12alert(arr[8]); //显示第9个元素的值,为56arr.length=5; //将数组的长度减少到5,索引等于或超过5的元素被丢弃alert(arr[8]); //显示第9个元素已经变为"undefined"arr.length=10; //将数组长度恢复为10alert(arr[8]); //虽然长度被恢复为10,但第9个元素却无法收回,显示"undefined"</span>

    由上面的代码我们可以清楚的看到length属性的性质。但length对象不仅可以显式的设置,它也有可能被隐式修改。JavaScript中可以使用一个未声明过的变量,同样,也可以使用一个未定义的数组元素(指索引超过或等于length的元素),这时,length属性的值将被设置为所使用元素索引的值加1。例如下面的代码:

<span style="font-family:SimSun;font-size:18px;">var arr=[12,23,5,3,25,98,76,54,56,76];alert(arr.length);arr[15]=34;alert(arr.length);</span>

    代码中同样是先定义了一个包含10个数字的数组,通过alert语句可以看出其长度为10。随后使用了索引为15的元素,将其赋值为15,即arr[15]=34,这时再用alert语句输出数组的长度,得到的是16。无论如何,对于习惯于强类型编程的开发人员来说,这是一个很令人惊讶的特性。事实上,使用new Array()形式创建的数组,其初始长度就是为0,正是对其中未定义元素的操作,才使数组的长度发生变化。

    由上面的介绍可以看到,length属性是如此的神奇,利用它可以方便的增加或者减少数组的容量。因此对length属性的深入了解,有助于在开发过程中灵活运用。

1 0
原创粉丝点击