PHP函数从外部使用变量
function parts($part) {
$structure = ‘http://’ . $site_url . ‘content/’;
echo($tructure . $part . ‘.php’);
}
该函数使用$site_url
在页面顶部定义的变量,但是此变量未传递到该函数中。
我们如何使它返回到函数中?
回答:
您需要将其他参数传递给函数:
function parts($site_url, $part) { $structure = 'http://' . $site_url . 'content/';
echo $structure . $part . '.php';
}
如果您希望使用闭包,则可以将变量导入当前作用域(use
关键字):
$parts = function($part) use ($site_url) { $structure = 'http://' . $site_url . 'content/';
echo $structure . $part . '.php';
};
该帖子经常阅读,因此需要澄清一些内容global
。使用它被认为是不好的做法(请参考this和this)。
为了完整起见,这里是使用的解决方案global
:
function parts($part) { global $site_url;
$structure = 'http://' . $site_url . 'content/';
echo($structure . $part . '.php');
}
之所以有效,是因为您必须告诉解释器您要使用全局变量,现在它 认为 它是局部变量(在函数内)。
以上是 PHP函数从外部使用变量 的全部内容, 来源链接: utcz.com/qa/419164.html