2017-10-13 20 views
1

私は以下のようにforループを書いています。何らかの理由で、最初のループの後にループが停止します。この場合、値4を送信しようとしていますが、checkRes関数から文字列 "true"をチェックするif文に失敗します。それは関数が返す文字列です。ループの理解は、ループの最後のステートメントが満たされるか、終了するまでループを継続することになります。 下に間違っていることは何ですか?
最初の繰り返しの後にループが続かない

// assume $avaliable = 4; 
for ($i=$avaliable;10>$i;$i++) { 
    $check = checkRes($i, $people_no, $booking_date); 
     if ($check === "true") { 
      switch($i) { 
       case 0: $newResTime = "6 PM"; break; 
       case 1: $newResTime = "6:30 PM"; break; 
       case 2: $newResTime = "7 PM"; break; 
       case 3: $newResTime = "7:30 PM"; break; 
       case 4: $newResTime = "8 PM"; break; 
       case 5: $newResTime = "8:30 PM"; break; 
       case 6: $newResTime = "9 PM"; break; 
       case 7: $newResTime = "9:30 PM"; break; 
       case 8: $newResTime = "10 PM"; break; 
       case 9: $newResTime = "10:30 PM"; break; 
       case 10: $newResTime = "11 PM"; break; 
      } 
      // Replace next line with your return from the chatbot 
      echo "We're sorry, that time isn't avaliable, but a reservation at $newResTime has been made!"; 
      exit; 
     } 
    } 
+2

があなたの 'の出口を削除するには、それはループにしますので、'; ' – aldrin27

+0

' $のcheck'が、あなたが 'の出口を持っている' if'にし、その上に入っていますので、本当であります停止 – GEPD

+0

このコードはクレイジーです。なぜあなたのチェックのres関数は、boolだけを返しますか?なぜ時間を直接返さないのですか?反復インデックスは誰の予約と関係していますか? – Rafael

答えて

2

現在、 "デフォルト" ソリューションとしてexitを使用しています。しかし、それは常にプログラムの実行を終了させます(それはexitのためです)。

代わりにこの

switch($i) { 
    case 0: $newResTime = "6 PM"; break; 
    case 1: $newResTime = "6:30 PM"; break; 
    case 2: $newResTime = "7 PM"; break; 
    case 3: $newResTime = "7:30 PM"; break; 
    case 4: $newResTime = "8 PM"; break; 
    case 5: $newResTime = "8:30 PM"; break; 
    case 6: $newResTime = "9 PM"; break; 
    case 7: $newResTime = "9:30 PM"; break; 
    case 8: $newResTime = "10 PM"; break; 
    case 9: $newResTime = "10:30 PM"; break; 
    case 10: $newResTime = "11 PM"; break; 
    default: echo "..."; break; 
+0

$ checkは評価されないので、プログラムはswitch文に決して通らないので、これはうまくいきませんでした。もしそれがif文にしても、私はエコーを見ていない –

関連する問題