Nesting level too deep

在用PHP模拟循环链表结构时,给初始化的链表插入一个元素没有问题,但是用for循环插入10个元素,居然报出了如下错误:

Fatal error: Nesting level too deep - recursive dependency

1 function append($data) {
2         $link = $this->header;
3         while($link->next != $this->header) {
4             $link = $link->next;
5         }
6         $link->next = new node($data);
7         $link->next->next = $this->header;
8     }

在网上搜了下发现了问题所在,我原来的代码中 while($link->next != $this->header) 对象比较使用的是'!=',改成'!==' 就没有问题了,对象的比较应该使用严格比较。

1 function append($data) {
2         $link = $this->header;
3         while($link->next !== $this->header) {
4             $link = $link->next;
5         }
6         $link->next = new node($data);
7         $link->next->next = $this->header;
8     }

附原帖地址,有兴趣的朋友可以去看看。http://blog.csdn.net/digbug/article/details/1451504

 

posted @ 2012-09-01 16:42  浮云哥哥  阅读(459)  评论(0编辑  收藏  举报