在PHP中包含来自不同函数的代码

时间:2013-04-18 10:04:31

标签: php macros include

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

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

我在其他地方调用了这样的功能几次:

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

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

非常感谢。

3 个答案:

答案 0 :(得分: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();
?>

答案 1 :(得分:0)

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

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

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

}

答案 2 :(得分: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();
?>