我还没有找到一个很好的答案来解决我的问题,所以我开始了一个新话题。我有文件 english.php,其中包含 $lang['fname'] = "First name"; 等变量。我还有 header.php,其中包括 english.php:include('english.php');。现在,header.php 包含在另一个 php 页面中,比方说 addInfo.php。如果我在 addInfo.php 中写入:echo $lang['fname']; 它会显示“名字”,但是如果我在 addInfo.php 中写入一个函数,例如 函数已添加() { echo $lang['fname'];} 然后添加(); (我也试过 echo added())它不想显示值(“名字”)。有人知道这个示例(我认为)问题的解决方案吗?我准备尝试所有答案。问候,StefanZ
请您参考如下方法:
当你这样写的时候:
function added () {
echo $lang['fname'];
}
PHP 将搜索函数本地的 $lang
变量:
- 它不会看到在函数外部声明的全局函数。
- 并且,由于没有
$lang
变量集,在函数内部,$lang['fname']
将为null
- - 即在echo
ed 时不会显示任何内容。
要向 PHP 表明它应该从函数外部使用全局变量,您需要在函数内部将变量声明为 global
:
function added () {
global $lang;
echo $lang['fname'];
}
有关更多信息,您应该阅读 Variable scope PHP 手册的部分。