2010年11月30日 星期二

For Loops

接下來要談的是關於「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, threeforeach迴圈會逐一的將陣列的元素傳回給$vaule,所以底下的輸出「echo $value 」才會逐一的輸出one, two, three

相信到目前為止,對迴圈已經有了初步的認知,接著你需要去實作練習就可以掌握並熟練它。


參考資料:
PHPMySQL網頁設計實務/網奕出版/吳權威 編著

沒有留言:

張貼留言