Rob*_*Rob 8 php for-loop while-loop
我正在阅读关于PHP的电子书,作者注意到while循环和for循环之间的区别在于for循环将计算它运行的次数.
所以拿这个:
<?php
for ($i = 1; $i < 10; $i = $i + 1) {
print "Number $i\n";
}
?>
Run Code Online (Sandbox Code Playgroud)
但这不会是一样的
<?php
$i = 1;
while ($i < 10) {
$i = $i + 1;
print "Number $i\n";
}
?>
Run Code Online (Sandbox Code Playgroud)
或者他没有指出其他一些差异?(除了使用while循环时,您不确定条件将保持多长时间,例如从数据库中选择行)
我的意思是,如果这是唯一的区别,我不能不使用for循环并使用while循环吗?
Nat*_*ong 11
从功能上讲,你的两个例子是相同的.但他们表达了不同的意图.
while 意思是'我不知道这种状况会持续多久,但只要它确实如此,就做这件事.'for 意思是'我有一定数量的重复让你执行.'当你的意思是另一个时,你可以使用一个,但是阅读代码更难.
for在这里是可取的$i为循环创建一个局部变量foreach就个人而言,我在PHP中经常使用的循环是foreach.如果你发现自己做了这样的事情:
for ($i=0; $i < count($some_array); $i++){
echo $some_array[$i];
}
Run Code Online (Sandbox Code Playgroud)
...然后试试这个:
foreach ($some_array as $item){
echo $item;
}
Run Code Online (Sandbox Code Playgroud)
键入速度更快,更易于阅读.
Ada*_*son 10
你能?是的,当然了.但是否应该是一个完全不同的问题.
该for循环在这种情况下更易读,绝对是你会发现几乎已经循环指示各种语言中使用的惯例.如果你使用while循环,人们会想知道为什么你没有使用for循环.
在功能上,一个for循环相当于一个while循环;也就是说,每个都可以重写为另一个,而不会改变结果或副作用。然而,每一个都有不同的内涵。甲while循环运行而条件成立; 尽管情况发生了变化,但条件是静态的。一个for循环在一个序列上运行。区别对程序员很重要,但对程序不重要,正如变量名称的选择对程序员很重要,即使它们可以更改以生成功能等效的代码。根据情况,一个循环结构比另一个更有意义。