• 技术文章 >后端开发 >php教程

    php流程控制之for语句

    不言不言2018-05-04 09:38:43原创710
    这篇文章主要介绍了关于php流程控制之for语句 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

    本文试用于基础学习者,高手请关闭本页面

    本文阅读7分钟,理解难者就不好说了?

    (PHP 4, PHP 5, PHP 7)

    for 循环是 PHP 中最复杂的循环结构。它的行为和 C 语言的相似。 for 循环的语法是:

    for (expr1; expr2; expr3)
        statement

    第一个表达式()在循环开始前无条件求值(并执行)一次。

    在每次循环开始前求值。如果值为 TRUE,则继续循环,执行嵌套的循环语句。如果值为 FALSE,则终止循环。

    在每次循环之后被求值(并执行)。

    每个表达式都可以为空或包括逗号分隔的多个表达式。表达式 中,所有用逗号分隔的表达式都会计算,但只取最后一个结果。 为空意味着将无限循环下去(和 C 一样,PHP 暗中认为其值为 TRUE)。这可能不像想象中那样没有用,因为经常会希望用有条件的 break 语句来结束循环而不是用 for 的表达式真值判断。

    考虑以下的例子,它们都显示数字 1 到 10:

    <?php
    /* example 1 */
    
    for ($i = 1; $i <= 10; $i++) {
        echo $i;
    }
    
    /* example 2 */
    
    for ($i = 1; ; $i++) {
        if ($i > 10) {
            break;
        }
        echo $i;
    }
    
    /* example 3 */
    
    $i = 1;
    for (;;) {
        if ($i > 10) {
            break;
        }
        echo $i;
        $i++;
    }
    
    /* example 4 */
    
    for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++);
    ?>

    当然,第一个例子看上去最简洁(或者有人认为是第四个),但用户可能会发现在 for 循环中用空的表达式在很多场合下会很方便。

    PHP 也支持用冒号的 for 循环的替代语法。

    for (expr1; expr2; expr3):
        statement;
        ...
    endfor;

    有时经常需要像下面这样例子一样对数组进行遍历:

    <?php
    /*
     * 此数组将在遍历的过程中改变其中某些单元的值
     */
    $people = Array(
            Array('name' => 'Kalle', 'salt' => 856412), 
            Array('name' => 'Pierre', 'salt' => 215863)
            );
    
    for($i = 0; $i < count($people); ++$i)
    {
        $people[$i]['salt'] = rand(000000, 999999);
    }
    ?>

    以上代码可能执行很慢,因为每次循环时都要计算一遍数组的长度。由于数组的长度始终不变,可以用一个中间变量来储存数组长度以优化而不是不停调用 count()

    <?php
    $people = Array(
            Array('name' => 'Kalle', 'salt' => 856412), 
            Array('name' => 'Pierre', 'salt' => 215863)
            );
    
    for($i = 0, $size = count($people); $i < $size; ++$i)
    {
        $people[$i]['salt'] = rand(000000, 999999);
    }
    ?>

    相关推荐:

    php流程控制之do-while

    php流程控制之elseif/else if

    以上就是php流程控制之for语句的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 语句 控制
    上一篇:php流程控制之do-while 下一篇:php流程控制之什么是foreach
    Web大前端开发直播班

    相关文章推荐

    • 关于数组重组。该怎么处理 • 此函数是PHP中哪方面的学问,其功能是何 • PHP框架YII札记之1 • CakePHP中运用TinyMce详解 • php除了字符串首尾中英文空格

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网