我们都听说过在for循环中,我们应该这样做:
for ($i = 0, $count = count($array); $i < $c; ++$i)
{
// Do stuff while traversing array
}
而不是这样:
for ($i = 0; $i < count($array); ++$i)
{
// Do stuff while traversing array
}
出于性能原因(即初始化$ count将调用count()只有一次,而不是调用count()与每个条件检查)。
它然后也有所作为,如果,在foreach循环,我这样做:
$array = do_something_that_returns_an_array();
foreach ($array as $key => $val)
{
// Do stuff while traversing array
}
而不是这样:
foreach (do_something_that_returns_an_array() as $key => $val)
{
// Do stuff while traversing array
}
假设情况允许我使用?也就是说,PHP在这两种情况下都只调用一次函数,还是在第二种情况下会一次又一次调用函数?