如何通过引用传递数组的值以修改其在对象内的值?我已经在 public function f(&$z) {
中使用 &
运算符进行了尝试。
<?php
class C {
private $a;
public function f($z) {
foreach ($z as $i => $v) {
$v = 8888;
}
}
}
$p = 4;
$obj = new C();
$obj->f(array('key'=>$p));
echo $p;
?>
我想将 8888 值设置为 $p
变量。
fiddle :http://codepad.org/RvKU4hY1
最佳答案
当您 1) 创建数组,2) 迭代它时,您必须使用引用:
<?php
class C {
private $a;
public function f($z) {
foreach ($z as $i => &$v) {
$v = 8888;
}
}
}
$p = 4;
$obj = new C();
$obj->f(array('key'=>&$p));
echo $p;
?>
关于PHP - 通过对象内部的引用修改数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23017933/