php - 循环之间的区别

标签 php loops

它是关于 PHP 的,但我相信许多相同的评论也适用于其他语言。

简单来说,PHP的不同类型的循环有什么区别?一个比其他的更快/更好还是我应该简单地放入最易读的循环?

for ($i = 0; $i < 10; $i++)
{
    # code...
}


foreach ($array as $index => $value)
{
    # code...
}


do
{
    # code...
}
while ($flag == false);

最佳答案

For循环和While循环是入口条件循环。它们首先评估条件,因此如果条件不满足,与循环关联的语句 block 甚至不会运行一次

这个 for 循环 block 中的语句将运行 10 次,$i 的值将为 0 到 9;

for ($i = 0; $i < 10; $i++)
{
        # code...
}

用 while 循环做同样的事情:

$i = 0;
while ($i < 10)
{
    # code...
    $i++
}

do-while 循环是退出条件循环。它保证执行一次,然后它会在重复该 block 之前评估条件

do
{
        # code...
}
while ($flag == false);

foreach 用于从头到尾访问数组元素。在 foreach 循环开始时,数组的内部指针被设置为数组的第一个元素,下一步它被设置为数组的第二个元素,依此类推,直到数组结束。在循环 block 中当前数组项的值作为$value可用,当前项的键作为$index可用。

foreach ($array as $index => $value)
{
        # code...
}

你可以用 while 循环做同样的事情,像这样

while (current($array))
{
    $index = key($array);  // to get key of the current element
    $value = $array[$index]; // to get value of current element

    # code ...  

    next($array);   // advance the internal array pointer of $array
}

最后:The PHP Manual是你的 friend :)

关于php - 循环之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22801/

相关文章:

php - 对数组内的数组执行 array_push

php - 函数调用中的未命名变量是静态的

php - 如何检查Bcrypt密码是否正确?

performance - 提高性能/速度

java - 使用循环从 JTextFields 获取值

php - 使用php和mysql上传图片

php - 仅显示部分文件缩略图

javascript - 如何使用 JS 循环遍历数组以更改背景颜色?

excel - 如果 cell.value A = x,则 cell.value N = 公式

当索引超过其长度时,C++ for 循环会自动为 char * 安全终止