php 这个传引用怎么不行

2015-04-01 17:05:10 +08:00
 yuptyy

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

2387 次点击
所在节点    PHP
6 条回复
lianyue
2015-04-01 17:21:49 +08:00
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-04-01 17:24:08 +08:00
function trie($string, &$cu){
foreach (str_split($string) as $v) {
$cu = &$cu[$v];
}
return $cu;
}

$cu = [];
trie('apple', $cu);
print_r($cu);
yuptyy
2015-04-01 17:24:54 +08:00
@lianyue 太感谢你了 可以请教一下 为什么再用一个变量保存$ch的地址 这是什么原理呢 谢谢
582033
2015-04-01 17:25:54 +08:00
foreach里你把变量覆盖了
lianyue
2015-04-01 17:29:00 +08:00
@yuptyy 引用的指针不同而已 ch 指针 for 里面 引用变化了 新家的变量引用的是 ch 最初的位置
yuptyy
2015-04-01 20:23:56 +08:00
@582033 为什么循环里面就覆盖了呢 想不通~~~~

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

https://www.v2ex.com/t/180899

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

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

© 2021 V2EX