0

我找不到任何可以回答我的问题的东西,所以这里是:

我需要一个 foreach 循环来获取数组中的每个函数并运行每个函数并检查它是否返回 true,足够简单。像这样:

$array_name = array(function1(),function2(),function3());

foreach($array_name as &$value) {
    /* run each function */
    /* checks if it returns true */
}

这可能很简单,我只是看不到它,但我找不到任何关于如何正确实现它的权威文档。

4

3 回答 3

1

试试看:

$array_name = array('function1','function2','function3');

foreach($array_name as &$value) {
  if(function_exists($value) && ($value())) {
     //function exists and it returns true
  }
}
于 2012-06-08T14:24:08.597 回答
1
$array_name = array('function1', 'function2', 'function3');

foreach($array_name as $value) {
    if($value()) {
        // do stuff if the function returned a true-ish value
    }
}

调用该函数的另一个选项是call_user_func($value).

于 2012-06-08T14:21:24.323 回答
0

尝试采用以下内容: http: //php.net/manual/en/functions.variable-functions.php

foreach($functionName as $arg) {
    $arg();
}

但正如你的问题包含:

$array_name = 数组(function1(),function2(),function3());

确保在您的数组中使用“function1()”。所以我们可以有:

foreach($functionName as $arg) {
   $check = $arg;
   if($check != false){
     //Do stuff here
   }else{
     //Do stuff here
   }
}
于 2014-09-01T10:10:51.483 回答