0

検索と結果の比較のためのシンプルなシステムがあります。

この場合、2つの結果が正常で、1つの結果が不良になります。

これを使用するために、私は次のコードを使用します:

for ($i=0;$i<sizeof("search.txt");$i++)
{

    if ($_REQUEST['search']=="ok" && $_REQUEST['car']=="")
    {
        print "ok";
        break;
        /// show results;
    }

    if ($_REQUEST['search']=="ok" && $_REQUEST['car']=="" && $_REQUEST['city']=="")
    {
        print "ok";
        break;
        /// show results;
    }
}

問題は、結果が2つの結果を表示する必要がある場合で、「break」という行はループを停止しますが、breakを入力しないと、他の条件付き「if」の結果が表示されます。このループにIが含まれるため、簡単な例を示します。多くの条件付きの「if」があります。これにより、それぞれの場合にすべての結果を表示し、条件ごとにブレークする必要がありますが、ループをループに分割し、続行しないでください

私の質問は、doにbreakを使用できるか、または他の関数を使用する必要があるかどうかです。これは、この方法で行う必要があるためです。

ありがとうございます。それでは、お元気で

4

2 に答える 2

2

breakcase ステートメントとループを対象としています。ケースを使用していないbreakため、 foreach が壊れます。continueおそらく、次の反復に進みたいと思うでしょう。

例えば

for(...) {
   if (something) {
      ...
      continue; // "break" this loop iteration and move on to the next one.
   }
   if (something else) {
       ...
       break; // kills the foreach and moves down to the "stuff after loop" below.
   } 
   switch (this_and_that) {
      case 'a': ...; break; // breaks out of the switch and moves to "stuff after switch"
      case 'b': ...; break; // ditto
   }
   ... stuff after switch ...
}

... stuff after loop ...
于 2013-03-06T21:03:13.260 に答える
0

私はこのようにします:

if ($_REQUEST['search']=="ok" && $_REQUEST['car']=="")
{
print "ok";
   if ($_REQUEST['city']=="")
   {
   break;
   }
break;
}

最初の if ステートメントが true になると、2 番目の if ステートメントが true になるだけで済みます。

于 2013-03-06T21:04:28.273 に答える