php 这个传引用怎么不行

2015 年 4 月 1 日
 yuptyy

http://tenjj.qiniudn.com/to.jpg 目的是实现注释中的结果

2835 次点击
所在节点    PHP
6 条回复
lianyue
2015 年 4 月 1 日
function trie($string) {
$ch = [];
$yue = &$ch;
foreach (str_split($string) as $value) {
$ch[$value] = [];
$ch = &$ch[$value];
}
return $yue;
}
print_r(trie('apple'));
582033
2015 年 4 月 1 日
function trie($string, &$cu){
foreach (str_split($string) as $v) {
$cu = &$cu[$v];
}
return $cu;
}

$cu = [];
trie('apple', $cu);
print_r($cu);
yuptyy
2015 年 4 月 1 日
@lianyue 太感谢你了 可以请教一下 为什么再用一个变量保存$ch的地址 这是什么原理呢 谢谢
582033
2015 年 4 月 1 日
foreach里你把变量覆盖了
lianyue
2015 年 4 月 1 日
@yuptyy 引用的指针不同而已 ch 指针 for 里面 引用变化了 新家的变量引用的是 ch 最初的位置
yuptyy
2015 年 4 月 1 日
@582033 为什么循环里面就覆盖了呢 想不通~~~~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/180899

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX