更新时间:2023-02-19 12:52:24
您已经知道,您的问题在于您的匿名函数中的变量超出了作用域,并且由于您不知道要替换哪个变量,因此无法将它们传递给函数,因此您必须使用global
关键字,例如
$uri = "module/page/{#page}";
$page = 3;
$uri_to_call = $uri_rule = preg_replace_callback("/{#([A-Za-z_]+)}/", function($m){
global ${$m[1]};
return ${$m[1]};
});