2012-12-31 44 views
4

我是新來的編碼,不能方便的邏輯建立想法..
好吧,我已經寫了代碼首先看看:如果...否則發出:刪除匹配的可變

<?php 
    function month_ana($mna){ 
     $c_mna = strlen($mna); 
     echo "Let's Analysis <b>$mna</b> <br> Total Charectars: $c_mna <br>"; 
    } 
    $go[0] = "January"; 
    $go[1] = "February"; 
    $go[2] = "March"; 
    $go[3] = "April"; 
    $go[4] = "May"; 
    $go[5] = "June"; 
    $go[6] = "July"; 
    $go[7] = "August"; 
    $go[8] = "September"; 
    $go[9] = "October"; 
    $go[10] = "November"; 
    $go[11] = "December"; 
    $fo = "October"; 
    $i = 0; 
    for($i=0;$i<=11;$i++){ 
     if ($go[$i]==$fo){ 
      break; 
     } else { 
      month_ana($go[$i]); 
     } 
    } 
?> 

我想要做的是刪除匹配的變量,所以函數將跳過它。
讓我們來看看它的輸出:

Let's Analysis January 
Total Charectars: 7 
Let's Analysis February 
Total Charectars: 8 
Let's Analysis March 
Total Charectars: 5 
Let's Analysis April 
Total Charectars: 5 
Let's Analysis May 
Total Charectars: 3 
Let's Analysis June 
Total Charectars: 4 
Let's Analysis July 
Total Charectars: 4 
Let's Analysis August 
Total Charectars: 6 
Let's Analysis September 
Total Charectars: 9 

,但問題是我已經使用break();語句,以便它停止工作時變量October匹配的,但我希望,這將跳過匹配的變量不是在這裏停止,所以在這種情況下,它應該跳過October,然後再從November開始計算並繼續。我希望你瞭解這個問題。有任何想法嗎?

如果你認爲你應該參考我的一些文章,那麼請做,因爲我非常熱衷於學習PHP編程。由於

回答

2

關鍵字continue嘗試continue;

var $go = array('January', 'February', 'March', ...); 

foreach ($go as $month) { 
    if ($month == $fo){ 
     continue; 
    } 
    echo $month . '<br />'; 
} 
+0

啊!謝謝你,,,有什麼辦法來壓縮數組? –

+0

沒問題,我更新了將值分配給'$ go'數組的答案。 –

+0

感謝:D它可以幫助我... –

1

,而不是使用break

+0

啊!謝謝 –

0
for($i=0;$i<=11;$i++) 
{ 
    if ($go[$i] != $fo) 
    { 
    month_ana($go[$i]); 
    } 
} 

我把 '!=' 代替 '=='。

如果您使用continue它將再次啓動循環,但是您說在分析10月之後要繼續11月。

相關問題