for


for

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

for (expr1; expr2; expr3)
    statement

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

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

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

每个表达式都可以为空或包括逗号分隔的多个表达式。表达式 expr2 中,所有用逗号分隔的表达式都会计算,但只取最后一个结果。expr2 为空意味着将无限循环下去(和 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 sizeof($people); ++$i)
{
    
$people[$i]['salt'] = rand(000000999999);
}
?>

以上代码的问题,在于for的第二个表达式会导致代码执行很慢--因为每次循环时都要 计算一遍数组的长度。由于数组的长度始终不变,我们可以用一个中间变量来存储数组长度, 然后用这个变量作为for循环的第二个表达式。这样在循环的时候就可以直接使用该变量的值, 不用每次重新计算。 如下:

<?php
$people 
= Array(
        Array(
'name' => 'Kalle''salt' => 856412), 
        Array(
'name' => 'Pierre''salt' => 215863)
        );

for(
$i 0$size sizeof($people); $i $size; ++$i)
{
    
$people[$i]['salt'] = rand(000000999999);
}
?>


«  do-while
» foreach
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 我的家乡作文400字 2014预备党员入党转正申请书 笔的梦想 包容,是人生最大的修养! 小学六年级作文600字:联合国秘书长”的亲身经历 兽医站各项工作流程简介 大三学生实习动员大会 那百合依样盛开作文2500字 碎纸机 鸿书寄多愁 我家的“孙悟空” 2013年林业站林业工作总结 回望过往,曾经,是我伤了你 官员民主生活会需摆脱作秀嫌疑 大学生实用入党思想汇报 且听风吟发表日志:以夕阳落款 高一军训心得体会1000 最聪明的人类,你们听不见吗?作文1000字 描写月光好段大全 初中初二作文600字:奇异的梦幻 在幼儿园到小学衔接研讨活动上的总结发言稿 泉州市民营企业考察报告 我的外公_关于描写外公的小学生写人作文300字 握金钗 小猪减肥记作文550字 因果作文100字 费切尔的怪鸟 公司借条范本 一个转身......(无法愈合的伤口) 念念不忘 我不变的奶奶 寒假里的新鲜事400字作文 风姑娘作文350字 生命的声音〔十一〕 每个女孩都爱过一个混蛋 初中初二作文400字:牛顿的执着_读《牛顿的故事》有感 制作不倒翁的作文 美军如何锤炼实战能力 在基层团委换届选举工作现场观摩会上的讲话 小学五年级作文500字:永远不要讲放弃 行政后勤上半年工作总结范文 胡嘉十八心情日志:校园晨曲 记我的第一上学期 临床护理专业应届毕业生自荐信 身边的礼貌作文500字 我不知道雨,要落入何处 公司负责人2012年终总结 最新的沈阳市房屋租赁合同(民宅版) 县长在2006年上半年经济形势分析会上的讲话 破灭;花终零落

Copyright © 2016 phpStudy |