如何在php中的函数变量中设置变量?

时间:2011-05-01 07:21:19

标签: php function

我有一个这样的函数变量......         $ aName =“我的名字”;

$sayHelloFunction = public function sayHello($aName){
       echo($aName);
    }  

我有类似的东西......

callAFunctionFromFunction($sayHelloFunction);

在“callAFunctionFromFunction”中,我这样做:

            if(is_callable($sayHelloFunction)) { 
                  $sayHelloFunction(); 
        }   

我发现“我的名字”无法显示,我做错了什么......

2 个答案:

答案 0 :(得分:2)

函数sayHello需要一个参数$ aName,但是当你调用它时你不会传入一个值。

你需要这样做:

    if(is_callable($sayHelloFunction)) { 
              $sayHelloFunction("Hello John"); 
    }   

此外,您不能将公共访问类型与闭包一起使用。

 $sayHelloFunction = function sayHello($aName) {
    echo($aName);
 }

答案 1 :(得分:2)

我建议您查看herehere,因为这些确切的线程处理将函数作为参数传递。 PHP中的闭包(匿名函数)也没有名称(这就是为什么它们被称为匿名),所以你应该做的就是这样。

<?php $sayHelloFunction = function($aName){
   echo($aName);
};
if(is_callable($sayHelloFunction)) $sayHelloFunction("Testing 1,2,3");