2011-05-01 74 views
1

我有一个这样的函数变量... $ aName =“My Name”;如何在php中设置函数变量的变量?

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

,我有这样的事情.....

callAFunctionFromFunction($sayHelloFunction); 

里面的 “callAFunctionFromFunction”,我这样做:

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

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

回答

2

我建议你看看herehere这些精确的线程处理传递函数作为参数。另外在PHP中关闭(匿名函数)没有名字(这就是为什么他们被称为匿名),所以你应该做的就是这样的。

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

那么,[关闭已添加在PHP 5.3](http://php.net/manual/en/functions.anonymous.php)。这里只有'public'无效。 – 2011-05-01 07:36:36

2

函数sayHello需要一个参数$ aName,但是当你调用它时,你不通过在一个值。

你需要做的是:

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

你也不能关闭使用公共接入类型。

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