【问题标题】:How to use DEFINE vars inside functions如何在函数中使用 DEFINE var
【发布时间】:2015-06-26 13:50:27
【问题描述】:

我有一个纯 PHP 脚本 - 没有框架,没有 OOP - 像这样:

<?php

define('VAR1', 'xxxxxxxxxx');
define('VAR2', 'xxxxxxxxxx');
define('VAR3', 'xxxxxxxxxx');

function myFunction()
{

    // I need to access VAR1, VAR2, VAR3 here

}

$output = myFunction();

如何在myFunction() 中访问VAR1VAR2VAR3?通过在函数内将它们声明为GLOBAL

【问题讨论】:

  • 将 PHP 常量视为一个字符串,在运行时将其替换为它的值。因此,无论在函数内部还是函数外部,您都可以在任何地方使用它
  • 你尝试过访问它们一次吗?

标签: php php-5.5


【解决方案1】:

常量的作用域已经是全局的,所以就照原样使用它们吧:

define('VAR1', 'xxxxxxxxxx');
define('VAR2', 'xxxxxxxxxx');
define('VAR3', 'xxxxxxxxxx');

function myFunction()
{
    echo VAR1;
    // I need to access VAR1, VAR2, VAR3 here

}

$output = myFunction();

【讨论】:

  • (显然不要与全局变量范围混淆......)
【解决方案2】:

根据http://php.net/manual/en/language.constants.php常量的范围是全局的。您可以在脚本中的任何位置访问常量,而无需考虑范围。

所以,这真的很简单:

<?php

define('VAR1', 'xxxxxxxxxx');
define('VAR2', 'xxxxxxxxxx');
define('VAR3', 'xxxxxxxxxx');

function myFunction()
{
  echo VAR1;
  echo VAR2;
  echo VAR3;
}

$output = myFunction();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-17
    • 2016-02-04
    • 1970-01-01
    相关资源
    最近更新 更多