跪求大神看看这段代码执行步骤细节

跪求大神看看这段代码执行步骤细节0

划横线这行具体何时执行的? 整个执行顺序是怎样的? 与之对应的语法是什么?

回复讨论(解决方案)

你这是递归

用深度优先算法遍历树

大神,为什么$child = $this->childlist($arr,$v[‘cat_id’]);这句之后 往下面执行了 二不是直接进入childlist这个方法中

$child = $this->childlist($arr,$v[‘cat_id’]); 就是进入 childlist

执行完了,就执行 $child = $this->childlist($arr,$v[‘cat_id’]); 的下一句

楼主可以学习一下递归的用法就明白了

就是深度遍历,你得学习学习算法了

我知道这是递归,深度遍历,但是每执行完这句$child = $this->childlist($arr,$v[‘cat_id’]);后,都会向下执行,将$child先保存起来之后再执行childlist($arr,$v[‘cat_id’]),这是为什么?

php不都是一条线执行的吗?我问的是具体何时执行的childlist($arr,$v[‘cat_id’]), 如果是赋给$child时执行的话,就不会往下面走了,这是不对的。为什么往下走了?并且调用 的这个方法到底是什么时候执行的?跪求大神解答

你在方法入口处打印出 $pid 就能看到了

好像有思路了,$child = $this->childlist($arr,$v[‘cat_id’]);后打印下$child

跪求大神看看这段代码执行步骤细节1

跪求大神看看这段代码执行步骤细节2

这两个是测试代码和输出的结果 到了输出1之后就看不懂了

你贴出代码而不是截图后,再细细跟你说

你总不能说:请教人家,还要人家按图打一遍代码吧?

Posted in 未分类