--- tags: PHP --- # PHP快速入門 3 -- 迴圈控制 ## for 前測式迴圈 :::info for (初始值; 執行條件; 變數更新) { &nbsp;&nbsp;&nbsp;&nbsp;敘述句; } ::: :::success 常用在已知執行次數 ::: ![](https://i.imgur.com/dxQx7Hp.png) ## while 前測式迴圈 :::info while (執行條件) { &nbsp;&nbsp;&nbsp;&nbsp;敘述句; } ::: ## do...while 後測式迴圈 :::info do { &nbsp;&nbsp;&nbsp;&nbsp;敘述句; } while (執行條件) ::: * rand(min, max):產生min到max的亂數 練習: 設計抽彩票程式:每次抽獎金額為0~10元不等,直到抽中0元就不能繼續抽,最後累加抽中多少金額 ![](https://i.imgur.com/kU9UT28.png) ![](https://i.imgur.com/4rCpyP8.png) ## foreach 用 foreach 重複造訪陣列內容,便可根據陣列內容進行處理 ```php= foreach ($array as $key => $value) { echo "{$key} => {$value}"; } ``` ```php= foreach ($array as $value) { echo "<p>{$value}[索引值]</p>"; } ``` ### 取出陣列索引與值 :::info * foreach($array as $val) { &nbsp;&nbsp;&nbsp;&nbsp;迴圈內敘述; } * foreach($array as $key => $val) { &nbsp;&nbsp;&nbsp;&nbsp;迴圈內敘述; } * while (list(\$key,\$val) = each ($array)){ &nbsp;&nbsp;&nbsp;&nbsp;迴圈內敘述; } ::: * print_r($array):一次印出所有陣列的索引與值 http://www.wibibi.com/info.php?tid=247 > 要印出所有陣列的值,無法用 echo,但可以用 echo $array[1]; > (因為 $array[1] 為一字串/數字) * unset( ):清除任何變數,釋放記憶體 * reset($array):使指標回到最前面 >前面foreach已經從頭取出陣列值到最後,接下來要用while迴圈時,要把指標回到最前面。foreach迴圈本身在使用時,就會把指標拉回最前面 * 雙引號內會自動抓並剖析變數的值 範例: ![](https://i.imgur.com/PzPUzIr.png) ![](https://i.imgur.com/cq6TYN5.png)