php函数内外变量,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';

};

全球 – 一种不好的做法

这篇文章经常被阅读,因此需要澄清有关全球的内容.使用它被认为是一种不好的做法(参见this和this).

为了完整性,这里是使用全局的解决方案:

function parts($part) {

global $site_url;

$structure = 'http://' . $site_url . 'content/';

echo($structure . $part . '.php');

}

它的工作原理是因为你必须告诉解释器你想要使用全局变量,现在它认为它是一个局部变量(在你的函数中).

建议阅读:

标签:php,variables,function

来源: https://codeday.me/bug/20190926/1818014.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值