while
用于执行循环,具体语法是
while( 条件 ) {
...
条件成立时要执行的循环语句
...
}
do-while
同样也用于执行循环,具体用法如下
do {
...
执行的循环语句
...
} while( 条件 );
两者的区别在于第一次运行时,
while
是先判断循环条件是否成立,条件成立后再执行循环语句。do-while
是先执行循环语句,再判断循环条件是否成立。
一个demo:
<?php
echo '这是while:<br/><br/>';
$i = 0;
while($i++ < 3) {
echo "\$i = $i<br/>";
}
echo "\$i = $i";
echo '<br/><br/>';
echo '这是do-while:<br/><br/>';
$i = 0;
do {
echo "\$i = $i<br/>";
} while($i++ < 3);
echo "\$i = $i";
执行结果:
这是while:
$i = 1
$i = 2
$i = 3
$i = 4
这是do-while:
$i = 0
$i = 1
$i = 2
$i = 3
$i = 4
需要注意的是,PHP是一种弱类型语言,条件不仅可以是布尔型(bool
),还可以是数值、字符串等,
当条件为数值时,条件的成立取决于数值是否等于0,等于0时不成立,反之成立;
<?php
$a = 1;
if($a)
echo "true\n";
else
echo "false\n";
// 此处输出 true
$a = 0;
if($a)
echo "true\n";
else
echo "false\n";
// 此处输出 false
$a = -1;
if($a)
echo "true\n";
else
echo "false\n";
// 此处输出 true
当条件为字符串时,当字符串为空时不成立,反之成立。
<?php
$a = "123";
if($a)
echo "true\n";
else
echo "false\n";
// 此处输出 true
$a = "";
if($a)
echo "true\n";
else
echo "false\n";
// 此处输出 true