从函数 PHP 内部更改全局变量

2022-08-30 10:58:19

我正在尝试从函数内部更改函数外部的变量。因为如果函数正在检查的日期超过一定数量,我需要它来更改代码开头日期的年份。

$var = "01-01-10";
function checkdate(){
     if("Condition"){
            $var = "01-01-11";
      }
}

答案 1

A. 使用全局关键字从应用程序范围导入。

$var = "01-01-10";
function checkdate(){
    global $var;  
    if("Condition"){
        $var = "01-01-11";
    }
}
checkdate();

B. 使用$GLOBALS数组。

$var = "01-01-10";
function checkdate(){
    if("Condition"){
        $GLOBALS['var'] = "01-01-11";
    }
}
checkdate();

C. 通过引用传递变量。

$var = "01-01-10";
function checkdate(&$funcVar){  
    if("Condition"){
        $funcVar = "01-01-11";
    }
}
checkdate($var);

答案 2

只需像这样使用关键字:global

$var = "01-01-10";
function checkdate(){
     global $var;

     if("Condition"){
            $var = "01-01-11";
      }
}

对该变量的任何引用都将是全局变量。


推荐