php - 包含文件中的函数变量 - php

标签 php function variables

我还没有找到一个很好的答案来解决我的问题,所以我开始了一个新话题。我有文件 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 - - 即在 echoed 时不会显示任何内容。


要向 PHP 表明它应该从函数外部使用全局变量,您需要在函数内部将变量声明为 global:

function added () {
    global $lang;
    echo $lang['fname'];
} 


有关更多信息,您应该阅读 Variable scope PHP 手册的部分

关于php - 包含文件中的函数变量 - php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2412041/

相关文章:

python - 尝试在 Python 2 中复制列表并修改它的一个版本

javascript - 提交表单后显示一个div并保留表单的信息

C++...方形系列(每次输出相同)?

c - 如何修复 C 中 print 语句执行后程序打印 0 的问题?

mysql - codeigniter 和 mysql 用户定义的变量不起作用

c# - 如何使用 C# 从 Visual Studio 传递管道变量

php - 邻近搜索

php - 如果 PHP 在 Linux 上运行;如何获取特定的发行版(Ubuntu、fedora 等)?

php - Laravel:PHP Artisan Migrate 抛出 PDO 异常:找不到驱动程序 (Postgres)

R-项目错误消息 - 无法读取表格