本文目录一览:
PHP的循环语句是什么?
在我们编写代码时,经常需要反复运行同一代码块。
我们可以使用循环来执行这样的任务,而不是在脚本中添加若干几乎相等的代码行。
在 PHP 中,有以下循环语句:
while - 只要指定条件为真,则循环代码块
do...while - 先执行一次代码块,然后只要指定条件为真则重复循环
for - 循环代码块指定次数
foreach - 遍历数组中的每个元素并循环代码块
PHP while 循环
只要指定的条件为真,while 循环就会执行代码块。
语法
while (条件为真) {
要执行的代码;
}
下例首先把变量 $x 设置为 1($x=1)。然后执行 while 循环,只要 $x 小于或等于 5。循环每运行一次,$x 将递增 1:
实例
?php
$x=1;
while($x=5) {
echo "这个数字是:$x br";
$x++;
}
?
PHP do...while 循环
do...while 循环首先会执行一次代码块,然后检查条件,如果指定条件为真,则重复循环。
语法
do {
要执行的代码;
} while (条件为真);
下面的例子首先把变量 $x 设置为 1($x=1)。然后,do while 循环输出一段字符串,然后对变量 $x 递增 1。随后对条件进行检查($x 是否小于或等于 5)。只要 $x 小于或等于 5,循环将会继续运行:-php中dowhile循环
实例
?php
$x=1;
do {
echo "这个数字是:$x br";
$x++;
} while ($x=5);
?
请注意,do while 循环只在执行循环内的语句之后才对条件进行测试。这意味着 do while 循环至少会执行一次语句,即使条件测试在第一次就失败了。
下面的例子把 $x 设置为 6,然后运行循环,随后对条件进行检查:
?php
$x=6;
do {
echo "这个数字是:$x br";
$x++;
} while ($x=5);
?
PHP for 循环
如果您已经提前确定脚本运行的次数,可以使用 for 循环。
语法
for (init counter; test counter; increment counter) {
code to be executed;
}
参数:
init counter:初始化循环计数器的值
test counter:: 评估每个循环迭代。如果值为 TRUE,继续循环。如果它的值为 FALSE,循环结束。
increment counter:增加循环计数器的值
下面的例子显示了从 0 到 10 的数字:
实例
?php
for ($x=0; $x=10; $x++) {
echo "数字是:$x br";
}
?
PHP foreach 循环
foreach 循环只适用于数组,并用于遍历数组中的每个键/值对。
语法
foreach ($array as $value) {
code to be executed;
}
每进行一次循环迭代,当前数组元素的值就会被赋值给 $value 变量,并且数组指针会逐一地移动,直到到达最后一个数组元素。
下面的例子演示的循环将输出给定数组($colors)的值:
实例
?php
$colors = array("red","green","blue","yellow");
foreach ($colors as $value) {
echo "$value br";
}
?
php do while 语句
T或F? 你是说ture 或 false 吧?
你的想法有两处问题:
第一个问题:$i++是先赋值再加1的,放在这里不合适;
第二个问题:既然是想判断素数,那么$i这个作为除数的变量应该从2开始才对,是不是,否则一遇到1这个数字,那是百分百跳出的。
下面就你 的问题给出程序:
?php
$number=3; //设定要检测是不是素数的变量;设定这个数字,可以进行这个数字的素数判断;
$i=1;
do{
$b=$number%++$i; //这一行是你的关键所在,为什么用++呢?原因是为了下面的程序服务;你可以了解下php运算符。
if(!$b){ //这一行就是你问的核心问题,如何判断是真是假,也就是有没有余数。
if($i==$number){ // 如果这个数被一直除到了本身才结束,那么它一定就是一个素数。
echo "$number" . "是素数";
break; //这个是跳出语句;
}
//否则白搭!!!
echo "$number" . "不是素数";
break; //这个是跳出语句;
}
}
while($i=$number);
?
以上程序经过测试,可以直接复制使用。不过,因为php对数字运算的限制,最大只能处理14位整数(10000000000000),不要因为它是自动的,就太贪心了哦~~~
祝你学习成功。
如果你的电脑够快,下面这段程序会给你列出1-100000000的素数,如果不够快,哼哼,你的电脑怕是要当机一段时间了,记得慎用哦。
当然如果你真想测试到这么大数值的话,你还要修改php.ini中限定的超时时间,将php.ini中的:
max_execution_time = 30
改为:
max_execution_time = 10000
否则无法实现你的宏伟愿望。
?php
function itisnum($number){
// $number=21433 ; //设定要检测是不是素数的变量;
$i=1;
do{
$b=$number%++$i;
if(!$b){
if($i==$number){
$haha = "$number" . "是素数br/";
return $haha;
break;
}else{
}
// echo "$number" . "不是素数";
return NULL;
break;
}
}
while($i=$number);
}
for ($i=1; $i=100000000; $i++){
echo itisnum($i);
}
?
php中怎么用do while循环输出1.9/3.9+2.9/4.9+5.9/7.9?
?php
$n=1.9;
$s=0;
do{
$s+=$n/($n+2)+($n+1)/($n+3);
$n+=4;
}while($n78);
echo $s;
?
php的do while语句
先跟你说一下do while的执行过程吧
先DO 后判断是否符合条件是就循环...这个可能要举个例子你就明了.为什么用DO while 而不用 for 或 while ,当然要它们也能做到 但逻辑没这么清楚...
我举个例子吧. 比如:要向数据库插入一条数据.但我不知插入是否成功.但前提是我必须插入一条数据. 这种逻辑下,for是不好操作,while逻辑也不清.
但do while就刚好了..
do{
往数据库插入一条数据操作
}while(插入是否成功);
这样代码就会一直判断是否插入成功,不成功就循环 直接到插入为止...
当然 你用while() 加if判断也是能完成操作..但不效率,思路也不清...
第二个要跟你说的是:
do{
? 这里并不表示程序结束.只是用这个结束来说明PHP 跟HTML的分界...它的代码还是跟下面的?php xxxx?中的代码连成一片PHP代码的...