国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php for循環語句的幾種用法分析

2024-05-04 23:07:16
字體:
來源:轉載
供稿:網友

在 php中for 循環是 PHP 中最復雜的循環結構.它的行為和 C 語言的相似,也是最基本的循環語句了,在開發中也是必不可少的,有需要了解的朋友可以看看.

for 循環的語法是:

實例代碼如下:

  1. for (expr1; expr2; expr3) 

statement

下面說說for語句幾種有用的變型.

1、無限循環

這種也叫死循環,沒有開始和結束一直就這樣下去

實例代碼如下:

  1. <?php 
  2. for (;;) { 
  3.  //放置需要不斷執行的語句 
  4. ?> 

死循環如果在當中配合if else ,break也可以跳出循環

實例代碼如下:

  1. <?php 
  2. for (;;) { 
  3.  //如果是公元2199年,則跳出循環 
  4.  if (date('Y') == '2199') { 
  5.   break
  6.  } 
  7. ?> 

2、使用空表達式

接下來就是說說在初始化語句expr1中使用null語法,留空expr1最常見的作用就是完成更為復雜的初始化工作.

實例代碼如下:

  1. <?php 
  2. if (isset($i)) { 
  3.  unset($i); 
  4.  if ((int) date('') < 2008) { 
  5.   $i = 0; 
  6.  } else { 
  7.   $i = 1; 
  8.  } 
  9. else { 
  10.  $i =3; 
  11. for (;$i < 10;$i++) { 
  12.  echo $i
  13. ?> 

同樣道理,迭代表達式expr3也可能留空,也可以利用這點編寫更為復雜的迭代式,比如說根據不同的條件調用不同的迭代式.

而for語句中的條件語句expr2留空則是上面所說的無限循環,當然也可以添加一些更為復雜的條件去判斷什么時候跳出循環,在此不在重復.

3、多重循環

使用多重循環來控制多個變量也是在for語句中使經常被忽略的一個特性.如下面的例子,在一般的任務中用到的一般會是雙重循環,三重以上的循環一般意義不大.

實例代碼如下:

  1. <?php 
  2. for ($i = 0, $j = 10;$i <= 10;$i++, $j--) { 
  3.  echo "$i + $j = 10rn"
  4. ?> 

以上代碼將輸出:

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

如果我們要半路跳出循環怎么操作,實例

看下面這個多重循環嵌套的例子:

實例代碼如下:

  1. for($i = 1;$i <= 10; $i++ ){ 
  2. for($j = 1;$j <= 10;$j++){ 
  3. $m = $i * $i + $j * $j
  4. echo$m n<br/>”; 
  5. if($m < 90 || $m > 190) { 
  6. break 2; 

break 2跳出了兩重循環,你可以試驗一眼,將2去掉,得到的結果是完全不一樣的.如果不使用參數,跳出的只是本次循環,第一層循環會繼續執行下去.

break是被用在上面所提的各種循環和switch語句中的.他的作用是跳出當前的語法結構,執行下面的語句.break語句可以帶一個參數n,表示跳出循環的層數,如果要跳出多重循環的話,可以用n來表示跳出的層數,如果不帶參數默認是跳出本重循環.

4、更為復雜的表達式

如果把for語句的三個表達式寫得復雜一些,則可以用于優化算法.甚至可以使用沒有循環體的for語句來完成一些任務.比如計算累加或階乘:

實例代碼如下:

  1. <?php 
  2. //計算1-5的累加結果,斌值到$j 
  3. for ($i = 1,$j = 0; $i <= 5;$j += $i++); 
  4. echo $j
  5. //計算1-5的階乘結果,斌值到$j 
  6. for ($i = 1,$j = 1; $i <= 5;$j *= $i++); 
  7. echo $j
  8. ?> 

如果我想執行到一個地方,自動調出當前循環執行一下-實例

實例代碼如下:

  1. <?php 
  2. for($i = 1;$i <= 100; $i++ ){ 
  3. if($i % 3 == 0 || $i % 7 == 0){ 
  4. continue
  5. }else
  6. echo$i n<br/>”; 
  7. ?> 

PHP的代碼片段的作用是輸出100以內,既不能被7整除又不能被3整除的那些自然數,循環中先用if條件語句判斷那些能被整除的數,然后執行continue;語句,就直接進入了下個循環.不會執行下面的輸出語句了.

continue 是用來用在循環結構中,控制程序放棄本次循環continue語句之后的代碼并轉而進行下一次循環.continue本身并不跳出循環結構,只是放棄這一次循環.如果在非循環結構中(例如if語句中,switch語句中)使用continue,程序將會出錯.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安义县| 新乡县| 朝阳市| 三河市| 乐东| 元朗区| 安阳市| 合水县| 龙海市| 洪洞县| 社旗县| 商水县| 扎兰屯市| 通江县| 和静县| 周至县| 永宁县| 岳池县| 包头市| 明光市| 灵武市| 交城县| 孝感市| 临西县| 谢通门县| 建德市| 乌兰浩特市| 长沙市| 开化县| 星子县| 常熟市| 荥阳市| 潜山县| 镇赉县| 西盟| 锦州市| 利津县| 阿图什市| 大余县| 龙岩市| 平顶山市|