关于for中循环条件的写法

一般情况下,我们写for是这么写的

      
for($i = 0; $i < count($test); $i++)
{
	echo $i . ' ';
}


为了测试我们创建一个Countable类 


至于什么是Countable,自已看文档

class ForTest implements \Countable
{
	private $array = [1, 2, 3, 4, 5, 6];
	
	public function count()
	{
		echo 'count ';
		
		return count($this->array);
	}
}


 一般方法:

$test = new ForTest;
for($i = 0; $i < count($test); $i++)
{
	echo $i . ' ';
}



 输出如下: 
count 0 count 1 count 2 count 3 count 4 count 5 count

再试另一种方法

$test = new ForTest;
for($i = 0, $count = count($test); $i < $count; $i++)
{
	echo $i . ' ';
}


 输出如下: 
count 0 1 2 3 4 5

 结论很明显,可以看出,第一种方法调用了6次count,而第二种只调用了1次。


标签: php, for

添加新评论