PHP 循环控制语句几种方法详解_PHP教程
在php中循环语句一般是使用while,for,foreach而控制语句就是if swicth这些了,下面我来给大家介绍一下php循环控制语句用法吧。
1、if..else循环有三种结构第一种是只有用到if条件,当作单纯的判断。
解释成"若发生了某事则怎样处理"。
语法如下:if(expr){statement}其中的expr为判断的条件,通常都是用逻辑运算符号当判断的条件。
而statement为符合条件的执行部分程序,若程序只有一行,可以省略大括号{}。
范例:本例省略大括号。
代码如下 | 复制代码 |
if($state==1) echo"哈哈"; ?> |
这里特别注意的是,判断是否相等是==而不是=,ASP程序员可能常犯这个错误,=是赋值。
范例:本例的执行部分有三行,不可省略大括号。
代码如下 | 复制代码 |
if($state==1){ echo"哈哈; echo" "; } ?> |
第两种是除了if之外,加上了else的条件,可解释成"若发生了某事则怎样处理,否则该如何解决"。
语法如下:
代码如下 | 复制代码 |
if(expr){ statement1 }else{ statement2 } |
范例:上面的例子来修改成更完整的处理。
其中的else由于只有一行执行的指令,因此不用加上大括号。
代码如下 | 复制代码 |
if($state==1){ echo"哈哈"; echo" "; }else{ echo"呵呵"; echo" "; } ?> |
第三种就是递归的if..else循环,通常用在多种决策判断时。
它将数个if..else拿来合并运用处理。
直接看下面的例子
代码如下 | 复制代码 |
if($a>$b){ echo"a比b大"; }elseif($a==$b){ echo"a等于b"; }else{ echo"a比b小"; } ?> |
上例只用二层的if..else循环,用来比较a和b两个变量。
实际要使用这种递归if..else循环时,请小心使用,因为太多层的循环容易使设计的逻辑出问题,或者少打了大括号等,都会造成程序出现莫名其妙的问题。
2、for循环就单纯只有一种,没有变化,它的语法如下
for(expr1;expr2;expr3){statement}
其中的expr1为条件的初始值。
expr2为判断的条件,通常都是用逻辑运算符号(logicaloperators)当判断的条件。
expr3为执行statement后要执行的部份,用来改变条件,供下次的循环判断,如加一..等等。
而statement为符合条件的执行部分程序,若程序只有一行,可以省略大括号{}。
下例是用for循环写的的例子。
代码如下 | 复制代码 |
for($i=1;$i
){ echo"这是第".$i."次循环 "; } ?> |
3、switch循环,通常处理复合式的条件判断,每个子条件,都是case指令部分。
在实作上若使用许多类似的if指令,可以将它综合成switch循环。语法如下
代码如下 | 复制代码 |
switch(expr){ caseexpr1: statement1; break; caseexpr2: statement2; break; default: statementN; break; } |
其中的expr条件,通常为变量名称。
而case后的exprN,通常表示变量值。
冒号后则为符合该条件要执行的部分。
注意要用break跳离循环。
代码如下 | 复制代码 |
switch(date("D")){ case"Mon": echo"今天星期一"; break; case"Tue": echo"今天星期二"; break; case"Wed": echo"今天星期三"; break; case"Thu": echo"今天星期四"; break; case"Fri": echo"今天星期五"; break; default: echo"今天放假"; break; } ?> |
这里需要注意的是break;
别遗漏了,default,省略是可以的。
很明显的,上述的例子用if循环就很麻烦了。
当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。
上例由于每天出现的机率相同,所以不用注意条件的顺序。
php循环控制语句
1、While语句
代码如下 | 复制代码 |
While循环是php中最简单的循环语句,他的语法格式是: While (expression){ statement; } |
当表达式expression的值为真时,将执行statement语句,执行结束后,再返回到expression表达式继续进行判断。直到表达式的值为假时,才跳出循环。
实例:
代码如下 | 复制代码 |
$num = 1; $str = “10以内的偶数为:”; while($num if($num % 2 == 0){ $str.=$num.”"; } $num++; } echo $str; ?> |
2、Do…While语句
While语句还有一种形式的表示,Do…While.语法为:
Do{
statement;
}While(expression);
两者的区别在于:Do…While语句要比While语句多循环一次。
当While表达式的值为假时,While循环直接跳出当前循环,而Do…While语句则是先执行一遍程序块,然后再对表达式进行判断。
3、For语句
代码如下 | 复制代码 |
For循环是php中最复杂的循环结构,它的语法格式为: For(expression1;expression2;expression3){ statement; } |
其中:expression1在第一次循环时无条件取一次值。
expression2在每次循环开始前求值,如果值为真,则执行statement;否则跳出循环,继续往下执行。expression3为每次循环后被执行。
实例:
代码如下 | 复制代码 |
$num=1; for($i=1;$i $num *=$i; } echo $num; ?> |
4、Foreach语句
Foreach循环是php4.0引进来的,只能用于数组。在php5中,又增加了对对象的支持。该语句的语法格式为:
foreach(array_expression as $value)
statement;
或
Foreach(array_expression as $key => $value)
statement;
Foreach语句将遍历数组array_expression,每次循环时,将当前数组中的值赋给$value(或是将数组下表赋给$key、对应的数组值赋给$value),同时,数组指针向后移动,如此反复循环,直到遍历结束。当使用Foreach语句时,数组指针将自动被重置,所以不需要手动设置指针位置。实例
代码如下 | 复制代码 |
$arr=array(“We”,”are”,”the”,”best”,”team”,”!”); if(is_array($arr) == true){ foreach($arr as $key => $value){ echo $key.”=”.$value.” ”; } }else{ echo”该变量不是数组,不能使用foreach语句”; } ?> |

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제









PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP에서 데이터베이스 작업은 매우 쉽습니다. 이번 장에서는 CRUD(생성, 읽기, 업데이트, 삭제) 작업을 이해하겠습니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

CakePHP에 로그인하는 것은 매우 쉬운 작업입니다. 한 가지 기능만 사용하면 됩니다. cronjob과 같은 백그라운드 프로세스에 대해 오류, 예외, 사용자 활동, 사용자가 취한 조치를 기록할 수 있습니다. CakePHP에 데이터를 기록하는 것은 쉽습니다. log() 함수는 다음과 같습니다.
