简单的PHP搜索表单与休息

时间:2013-03-06 20:59:25

标签: php for-loop while-loop break

我有一个简单的搜索和比较结果系统。

在这种情况下,我将有2个结果正常,一个结果不好。

为了使用它,我使用以下代码:

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”会停止循环,但如果我不放断,它会显示其他条件“if”的结果,我举一个简单的例子,因为这个循环我有很多条件“如果”,由此我需要在每种情况下显示所有结果并为每个条件中断,但是打破循环进入循环并且不让继续

我的问题是,如果我可以使用break来做或者需要使用其他功能让我这样做,因为我需要这样做

谢谢你的问候

2 个答案:

答案 0 :(得分:2)

break用于case语句和循环。由于您没有使用案例,break将打破foreach。您可能希望continue继续下一次迭代。

e.g。

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 ...

答案 1 :(得分:0)

我会这样做:

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

因为一旦if-statement为真,第二个只需要'city'为真。