0

我有一个来自 C 的库,我正在适应 PHP。PHP 中没有宏,但我需要类似的东西。让我给你一个简单的例子:

function check($test){
   if($test == false) return;
}

我在另一个内部调用了这样的函数几次:

function checks(){
   check(0==1);
   check(1==1);
   ...
}

而且我希望检查功能在第一次测试后停止。请注意,这不是我想要做的,这只是一个例子,所以你可以理解我在找什么。“check”中的return语句应该使函数“checks”返回。

首先十分感谢。

4

3 回答 3

1

没有办法在 PHP 中完全重现这种行为。但是,try {} catch () {}阻止可能会有所帮助。

<?php
define('SAFE_RETURN', 8795);

function scream($condition){
   if($condition)throw new Exception('', SAFE_RETURN);
}

function checks(){
   try {
      scream(1 == 0);
      echo 1;

      scream(0 == 1);
      echo 2;

      scream(1 == 1);
      echo 3;

   } catch(Exception $e){ if($e->getCode() != SAFE_RETURN)throw $e; };
}

checks();
?>
于 2013-04-18T10:25:37.270 回答
0

我不确定这是否可以在 php 中完成,但您可以执行以下操作:

function check($test){
    if($test == false) 
        return false;
    return true;
}

function checks(){
   if check(0==1) return;
   if check(1==1) return;

}
于 2013-04-18T10:10:05.477 回答
0

这个怎么样..,

<?php

    function check($test) {
        if($test == FALSE) {
            //do Something..
            exit();
        }
    }

    function checks() {
        check(1 == 1);
        echo "1 Done..</br>";
        check(2 == 2);
        echo "2 Done..</br>";
        check(0 == 0);
        echo "3 Done..</br>";
        check(1 == 2);
        echo "4 Done..</br>";
        check(1 == 0);
        echo "5 Done..</br>";
        check(2 == 1);  
        echo "6 Done..</br>";
    }

    checks();
?>
于 2013-04-18T10:49:18.603 回答