接下來要談的是關於「for」這個迴圈。
運用上,while loop是透過條件是否成立,來判斷是否進行迴圈中的程式碼,雖然我們使用「$i<=5」而且每執行一次迴圈內的程式碼,變數i就會累加一次的例子,但這跟for迴圈有所差距。
語法(Synatx)
for (init; condition; increment) { code to be executed; } |
For函數裡頭的參數分別是for(變數;條件式;變數遞增或遞減)。
來自W3S的註釋:
init: Mostly used to set a counter (but can be any code to be executed once at the beginning of the loop)
condition: Evaluated for each loop iteration. If it evaluates to TRUE, the loop continues. If it evaluates to FALSE, the loop ends.
increment: Mostly used to increment a counter (but can be any code to be executed at the end of the loop)
當條件式為真(True)則會執行for迴圈內的程式碼。
Example:
<html> <body> <?php for ($i=1; $i<=5; $i++) { echo "The number is " . $i . "<br />"; } ?> </body> </html> |
output
The number is 1 The number is 2 The number is 3 The number is 4 The number is 5 |
當然,這是for最簡單的應用,一開始指定一個變數並給予一個起始值,再來會經由條件式來判斷是否為真,如果是,將會執行迴圈內的程式碼,然後再經由最後一項遞增或遞減來對變數做處理,逐一執行到條件不成立時,就會跳出迴圈。
接著是要提到的是配合陣列使用的迴圈foreach。
語法(Synatx)
foreach ($array as $value) { code to be executed; } |
Foreach的用法是指定一個陣列給予foreach函數,然後它會從索引0開始取得陣列的元素,並傳回給於$value,如果陣列中有元素,那迴圈內的程式碼將會被執行。
Example:
<html> <body> <?php $x=array("one","two","three"); foreach ($x as $value) { echo $value . "<br />"; } ?> </body> </html> |
Output
one two three |
開始宣告一個陣列x,並給於它三個元素,分別是one, two, three,foreach迴圈會逐一的將陣列的元素傳回給$vaule,所以底下的輸出「echo $value 」才會逐一的輸出one, two, three,
相信到目前為止,對迴圈已經有了初步的認知,接著你需要去實作練習就可以掌握並熟練它。
參考資料:
PHP與MySQL網頁設計實務/網奕出版/吳權威 編著
沒有留言:
張貼留言