如何在函数内部使用DEFINE变量

时间:2015-06-26 13:50:28

标签: php php-5.5

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

Declare @sql varchar(8000)
,@p_CODE varchar(100)
,@v_CODE VARCHAR(100)
Set @p_CODE = ('''ABCD'',''EFGH''')
Set @v_CODE = @p_CODE
select @sql = 'SELECT distinct
    CODE
    FROM    TABLE 
    WHERE   CODE in ('+@v_CODE+')
        OR (''All'' in ('+@v_CODE+')
            AND CODE in (SELECT DISTINCT
                            CODE
                            FROM TABLE ))'
Execute (@sql)

如何在<?php define('VAR1', 'xxxxxxxxxx'); define('VAR2', 'xxxxxxxxxx'); define('VAR3', 'xxxxxxxxxx'); function myFunction() { // I need to access VAR1, VAR2, VAR3 here } $output = myFunction(); 内访问VAR1VAR2VAR3?通过在函数内声明它们为myFunction()

2 个答案:

答案 0 :(得分:4)

常量的范围已经是全局的,所以只需按原样使用它们:

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

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

}

$output = myFunction();

答案 1 :(得分:1)

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

所以,这很简单:

<?php

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

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

$output = myFunction();