count用法

来源:互联网 发布:c语言编程书籍 编辑:程序博客网 时间:2024/06/01 22:27
 

浏览次数:658次 悬赏分:100 | 解决时间:2010-8-10 16:25 | 提问者:Mr_janco

我用一个循环把若干元素逐个放到数组$tag[]里,

数组里面有重复的元素,所以我用$tag2 = array_unique($tag)把里面的重复元素删除,

之后再用一个上限足够大的for循环将这个$tag2数组中每个元素逐一输出,当然有许多元素因为被删除了是空的,所以循环里面也进行了判断strlen($tag2[$i]) > 0才输出,输出了n个元素。

 

1、但我用count($tag2)算出的的数组元素个数却比n少很多,按理说不是应该有n个吗?

2、为什么会出现这种情况?

3、PHP没有初始化元素个数的,因为经过删除重复元素的函数处理后,数组中原本的很多重复元素被删除,中间多了很多空的元素,大概50多个,count()的原理是计算到什么程度才停止的?

最佳答案

$tag2 = array_unique($tag)中$tag2,不包含空元素(你print_r($tag2)就知道),只是索引号不是连续的而已,count()本来就没算上那些空元素,如果想让索引变成连续的就用$tag2=array_values($tag2)就好了,不会改变顺序,如果只想遍历无所谓索引就这样试试

foreach($tag2 as $t)

{

  echo $t;

}

 

原创粉丝点击