1
該代碼有效,但$vars
無法在call()
函數中定義。 爲什麼$vars
無法傳遞給array_walk_recursive()
?PHP將一個變量傳遞給array_walk_recursive
class lib{
private $library;
function __construct($lib="")
{
$this->library = $lib;
}
function set($vars)
{
$decoded_classes = json_decode($this->library,true);
array_walk_recursive($decoded_classes,function(&$f) {$f = create_function($vars,$f);});
return $decoded_classes;
}
}
$json = '
{
"class1": {
"function1":"return \"$a<b>$b</b>!\";"
},
"class2": {
"function2":"return $b;",
"function3":"return $c;"
},
"function1":"return \"test\";"
}';
$lib = new lib($json);
$lib = $lib->set("$a,$b");
$lib = $lib["class1"]["function1"]("asdasasd","asdasasd");
echo $lib;
這個答案對於這裏的OP是有限的幫助,代碼只是進入了一個額外的問題:[PHP,解析錯誤:語法錯誤,意外的T_FUNCTION](http://stackoverflow.com/questions/11425559/php-語法分析錯誤語法錯誤意外叔功能)。在這裏找到它的用戶可能也有興趣瞭解這一點。 – hakre 2013-05-02 12:40:58