【问题标题】:What is the best way to acces language variables in a function?在函数中访问语言变量的最佳方法是什么?
【发布时间】:2014-02-02 17:08:03
【问题描述】:

基本上,我已经在我的页面中包含了我的语言文件,在那个语言文件中是像 $lang['ERROR']['TITLE'] 这样的数组,所以我的问题是:在函数中访问这些变量的最佳方法是什么?

【问题讨论】:

  • @maja 不在你不能的函数内。您需要在顶部使用global 关键字。
  • 如果您想了解更多关于翻译 PHP 应用程序的标准方法,请搜索“PHP 国际化”或简称“i18n”。

标签: php function global-variables scope


【解决方案1】:

您可以根据需要使用以下两种方法之一:

1) 声明一个全局变量:

<?php
$GLOBALS['lang'] = $lang;
function test () {
    echo $GLOBALS['lang']['ERROR']['TITLE'];
}
test();
?>

这使得它可以在任何函数中使用。

2) 将其传递给函数:

function test ($var) {
    echo $var;
}
test ($lang['ERROR']['TITLE']);

这只允许在一个特定的函数中使用它。

【讨论】:

    【解决方案2】:

    你可以试试这样的:

    <?php
        $lang = ...;
        function test () {
            global $lang;
            echo $lang['ERROR']['TITLE'];
        }
        test();
    ?>
    

    需要global-关键字,告诉php它应该在全局范围内寻找这个变量。否则,$lang 未定义。

    【讨论】:

      【解决方案3】:

      您需要在函数顶部使用global 关键字来访问在函数外部定义的变量。例如:

      function test() {
          global $lang;
          echo $lang['ERROR']['TITLE'];
      } 
      

      【讨论】:

      • 我想你不小心把n 换成了;
      • 该死的键盘。从我的手机发帖。我现在已经更正了。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-24
      • 1970-01-01
      • 1970-01-01
      • 2010-11-20
      • 2020-04-10
      • 2020-06-16
      相关资源
      最近更新 更多