我需要通过在函数中传递它来分配一个全局变量值,就像静态变量一样。这是我的代码
<?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。提前谢谢。
答案 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();