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

回到顶部