0

私の質問に答えるものが見つからなかったので、ここにあります:

配列内の各関数を取得してそれぞれを実行し、それが true を返すかどうかを確認するには、foreach ループが必要です。このような:

$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($value()) {
        // do stuff if the function returned a true-ish value
    }
}

関数を呼び出す別のオプションはcall_user_func($value).

于 2012-06-08T14:21:24.323 に答える
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 に答える
0

からのものを採用してみてください:http://php.net/manual/en/functions.variable-functions.php

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

しかし、あなたの質問には次のものが含まれています:

$array_name = array(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 に答える