php手冊中對它的語法定義如下:
for (expr1; expr2; expr3)
statement
下面說說for語句幾種有用的變型。
1、無限迴圈
首先是人盡皆知的無限迴圈(亦可稱"死迴圈")。由於空表示式null在語法上是有效的,所以我們可以把for語句的三個表示式留空,這樣就會產生不斷執行for巢狀語句的效果。
for (;;)
?>
雖然有程式設計客棧一些任務會使用到無限迴圈,但是大多數程式任務,特別是php所能涉及的領域,在使用無限迴圈時都會新增一些終止迴圈的條件。
for (;;)
} ?>
2、使用空表示式
接下來就是說說在初始化語句expr1中使用null語法,留空expr1最常見的作用就是完成更為複雜的初始化工作。
複製** **如下:
if (isset($i)) else
} else
for (;$i < 10;$i )
?>
同樣道理,迭代表示式expr3也可能留空,也可以利用這點編寫更為複雜的迭代式,比如說根據不同的條件呼叫不同的迭代式。
而for語句中的條件語句expr2留空則是上面所說的無限迴圈,當然也可以新增一些更為複雜的條件去判斷什麼時候跳出迴圈,在此不在重複。
3、多重迴圈
使用多重迴圈來控制多個變數也是在for語句中使經常被忽略的乙個特性。如下面的例子,在一般的任務中用到的一般會是雙重迴圈,三重以上的迴圈一般意義不大。
複製** **如下:
<?php
for ($i = 0, $j = 10;$i <= 10;$i , $j--)
?>
以上**將輸出:
0 10 = 10
1 9 = 10
2 8 = 10
3 7 = 10
4 6 = 10
5 5 = 10
6 4 = 10
7 3 = 10
8 2 = 10
9 1 = 10
10 0 = 10
4、更為複雜的表示式
如果把for語句的三個表示式寫得複雜一些,則可以用於優化演算法。甚至可以使用沒有迴圈體的for語句來完成一些任務。比如計算累加或階乘:
複製** **如下:
<?php
//計算1-5的累加結果,斌值到$j
for ($i = 1,$j = 0; $i &程式設計客棧lt;= 5;$j = $i );
echo $j;
//計算1-5的階乘結果,斌值到$j
for ($i = 1,$j = 1; $i <= 5;$j *= $i );
echo $j;
?>
php借助了c語言的語法,一定程度上也會擁有c的特性,比如說強大的for迴圈語句就是乙個典型的例子。
本文標題: 幾種有用的變型 php中迴圈語句的用法介紹
本文位址: /wangluo/php/86242.html
PHP中for迴圈語句的變型
for語句可以說是php 同時也是多種語言 的迴圈控制部份最基本的乙個語句了,for語句的執行規律和基礎用法在這裡就不多說,可以參見php手冊for語句部分。php手冊中對它的語法定義如下 for expr1 expr2 expr3 statement 下面說說for語句幾種有用的變型。1 無限迴圈...
PHP中foreach迴圈語句
一 語法 foreach array expression as value statement foreach array expression as key value statement foreach語句將遍歷陣列 array expression,每次迴圈時,將當前陣列中的值賦值給 val...
SQL迴圈語句的幾種方式
第一 declare ordernum varchar 255 create table ttablename id int identity 1,1 orders varchar 255 declare n int,rows int insert ttablename orders select ...