解决方案:
取决于版本,PHP 4是按值,PHP5是按引用。
PHP变量按值分配,按值传递给函数,包含/表示对象时按引用传递。我们可以使用&强制变量按引用传递
通过值/引用赋值示例:
$var1 = "test"; $var2 = $var1; $var2 = "new test"; $var3 = &$var2; $var3 = "final test"; print ("var1: $var1, var2: $var2, var3: $var3);
将输出
var1: test, var2: final test, var3: final test
通过值/引用进行传递参数实例:
$var1 = "foo"; $var2 = "bar"; changeThem($var1, $var2); print "var1: $var1, var2: $var2"; function changeThem($var1, &$var2){ $var1 = "FOO"; $var2 = "BAR"; }
将输出:
var1: foo, var2 BAR
通过引用传递对象变量示例:
class Foo{ public $var1; function __construct(){ $this->var1 = "foo"; } public function printFoo(){ print $this->var1; } } $foo = new Foo(); changeFoo($foo); $foo->printFoo(); function changeFoo($foo){ $foo->var1 = "FOO"; }
将输出:
FOO
日期:2020-03-23 20:19:59 来源:oir作者:oir