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