有没有办法破坏PHP中的if语句?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (14)

在PHP中是否有任何命令停止执行当前或父if语句,与/ 相同breakbreak(1)switch/ loop。例如

$arr=array('a','b');
foreach($arr as $val)
{
  break;
  echo "test";
}

echo "finish";

在上面的代码中PHP不会这样做,echo "test";并且会去echo "finish";

我需要这个如果

$a="test";
if("test"==$a)
{
  break;
  echo "yes"; // I don't want this line or lines after to be executed, without using another if
}
echo "finish";

我想要上面breakif声明并停止执行echo "yes";或不再需要执行的代码,可能有或可能没有附加条件,是否有办法执行此操作?

提问于
用户回答回答于

在一个函数中封装你的代码。可以随时停止执行功能return

用户回答回答于

代码

if(process_x()) {

    /* do a lot of other things */

    if(process_y()) {

         /* do a lot of other things */

         if(process_z()) {

              /* do a lot of other things */
              /* SUCCESS */

         }
         else {

              clean_all_processes();

         }

    }
    else {

         clean_all_processes();

    }

}
else {

    clean_all_processes();

}

好看的代码

do {

  if( !process_x() )
    { clean_all_processes();  break; }

  /* do a lot of other things */

  if( !process_y() )
    { clean_all_processes();  break; }

  /* do a lot of other things */

  if( !process_z() )
    { clean_all_processes();  break; }

  /* do a lot of other things */
  /* SUCCESS */

} while (0);

扫码关注云+社区