PHPfor循环语句用法的详细描述
设置一些计数器变量的初始值。
请检查条件语句是否正确。
执行中的代码循环。
在每次迭代结束时,增量通过循环计数器。
for循环允许你定义一个简单的代码行的步骤。它看起来有一个奇怪的形式,所以一定要密切注意语法的用法!
for循环的语法是:
对于(expr1;expr2;expr3)
声明
第一个表达式(expr1)是无条件求值一次循环开始之前。
expr2是每个周期开始之前进行评估。如果该值为true,则继续循环,嵌套的循环语句执行。如果该值为false,循环被终止。
expr3是每个周期后评估(执行)。
每个表达式可以是空的或包含多个表达式,用逗号隔开,逗号分隔的所有表达的表达式,表达式计算,但只有最后的结果是taken.expr2空意味着它将无限循环(C,PHP是TRUE)。这可能并没有想象的那么没用,因为它经常想结束一个代替判断的真值的表达语句的循环。
看一个简单的例子
复制代码代码如下所示:
($ i = 0;$ i < 2;$ + +)
{
打印值为现在。美元;
}
输出值
现在值是0。
现在值是1。
现在值是2。
在第一个周期,$ i = 0,这意味着表达式,($ < = 2),真的。因此,当执行打印语句时,i $被添加1到1。
在第二个循环中,$ = 1,这意味着表达式,($ < = 2),为真,因此,当执行打印语句时,i $被添加1到2。
在第三次迭代中,$ i = 2,这意味着表达式,($ < = 2),真的。因此,当执行打印语句时,i i增加,变成13。
在第四次迭代中,$ I = 3,这意味着表达式($ i = 2)是false。因此,PHP不执行循环,也不执行打印语句。
例二
复制代码代码如下所示:
brush_price = 5美元;
;
回声数量;
价格;
对于($ = 10;$计数器= 100;$计数器= 10){
;
回波计数器;
;
echo $ brush_price * $反;
;
}
;
输出值
数量价格
一千零五十
二万零一百
三万零一百五十
四万零二百
五万零二百五十
六万零三百
七万零三百五十
八万零四百
九万零四百五十
十万零五百
您可以参考下面的示例,这些示例显示数字1到10:
复制代码代码如下所示:
< PHP
例1
($ i = 1;$ i < 10;$ + +){
回声$ i;
}
例2
对于($ i = 1;;$ i +){ {
如果($ i 10){
打破;
}
回声$ i;
}
例3
$ I = 1;
为(;){
如果($ i 10){
打破;
}
回声$ i;
美元+;
}
例4
对于($ = 1,$ = 0;$ i = 10;$ J = $ I,打印,$ I,$ + +);
>
当然,第一个示例看起来最正常(或第四),但用户可能会发现for循环中的空表达式在许多情况下非常方便。
PHP还支持使用冒号进行循环的另一种语法。
复制代码代码如下所示:
对于(expr1;expr2;expr3):
声明;
…
Endfor;
我们经常需要遍历下面的数组:
复制代码代码如下所示:
< PHP
*
*我们希望在遍历过程中改变下面数组中一些元素的值。
* /
$ =数组(
阵列('name' = 'kalle ','salt ' = 856412),
阵列('name' = 'pierre ','salt ' = 215863)
);
为($我= 0;$我< sizeof($人);+ +我)
{
人{我} {美元美元'salt} =兰特(000000, 999999);
}
>
上述代码的问题在于第二的表达导致代码执行得很慢,因为数组的长度是在每个周期计算。因为数组的长度是一样的,我们可以使用一个中间变量来存储数组的长度,并使用该变量的环二表达。这样,该变量的值可以直接使用在循环的时候,没有任何重新计算如下:
复制代码代码如下所示:
< PHP
$ =数组(
阵列('name' = 'kalle ','salt ' = 856412),
阵列('name' = 'pierre ','salt ' = 215863)
);
对(我= 0美元美元,大小为sizeof($人);$i < $大小;+ +我)
{
人{我} {美元美元'salt} =兰特(000000, 999999);
}
>