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 プログラミングを学ぶことに非常に熱心なので、いくつかの記事を参照する必要があると思われる場合は、そうしてください。ありがとう

4

3 に答える 3

2

試すcontinue;

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

foreach ($go as $month) {
   if ($month == $fo){
      continue;
   } 
   echo $month . '<br />';
}
于 2012-12-31T12:51:50.230 に答える
1

continueの代わりにキーワードを使用します。break

于 2012-12-31T12:50:54.403 に答える
0
for($i=0;$i<=11;$i++)
{
  if ($go[$i] != $fo)
  {
    month_ana($go[$i]);
  }
}

「==」の代わりに「!=」を入れました。

使うcontinueとまたループしますが、10月の分析をした上で11月も続けたいとおっしゃっていました。

于 2012-12-31T12:59:03.803 に答える