php 中数组引用的问题
我正在尝试运行以下代码:
$a = array('aa');
function my_func (& $m) {
return $m;
}
$c = & my_func($a);
$c[] = 'bb';
var_dump($a);
echo '--------';
var_dump($c);
我的期望是 $a 和 $c 将具有相同的引用。但结果不同。
我得到的结果是:
array(1) { [0]=> string(2) "aa" } --------array(2) { [0]=> string(2) "aa" [1]=> string(2) "bb" }
上面的代码有什么问题?
I am trying to run following code:
$a = array('aa');
function my_func (& $m) {
return $m;
}
$c = & my_func($a);
$c[] = 'bb';
var_dump($a);
echo '--------';
var_dump($c);
My expectation were that $a and $c would have same reference. But the result is different.
Result i got was:
array(1) { [0]=> string(2) "aa" } --------array(2) { [0]=> string(2) "aa" [1]=> string(2) "bb" }
What is wrong in above piece of code?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为您正在寻找的是函数 通过引用返回 (这与示例中的通过引用传递结合使用)。
这是一个示例:
输出:
I think what you are looking for is function returning by reference (this in conjunction with passing by reference in your example).
Here is an example:
Outputs: