如何在php中的函数中分配全局变量值?

时间:2016-09-09 20:21:29

标签: php

我需要通过在函数中传递它来分配一个全局变量值,就像静态变量一样。这是我的代码

<?php

//this is old value
$var = "Old Value";

//need to change the value of global variable
assignNewValue($var);
echo $var;

function assignNewValue($data) {
    $data = "New value";
}
?>

执行后,var的值必须是New Value。提前谢谢。

2 个答案:

答案 0 :(得分:4)

<?php

//this is old value
$var = "Old Value";

//need to change the value of global variable
assignNewValue($var);
echo $var;

function assignNewValue(&$data) {
    $data = "New value";
}
?>

我使用&语法将assignNewValue的参数设为引用而不是副本。

答案 1 :(得分:1)

您可以通过两种方式尝试,第一种方式:

// global scope
$var = "Old Value";

function assignNewValue($data) {
   global $var;
   $var = "New value";
}

function someOtherFunction(){
    global $var;
    assignNewValue("bla bla bla");
}

或使用$GLOBALS :(官方PHP&#39; s文档:http://php.net/manual/pt_BR/reserved.variables.globals.php

function foo(){
  $GLOBALS['your_var'] = 'your_var';
}
function bar(){
  echo $GLOBALS['your_var'];
}
foo();
bar();

看看:Declaring a global variable inside a function