关于PHP-SPL中SplDoublyLinkedList学习随记

来源:互联网 发布:淘宝卖家林弯弯201 编辑:程序博客网 时间:2024/06/05 08:32

在学习SplDoublyLinkedList的过程中发现,当指针位置与offsetUnset操作的节点位置一致的时候,当执行完offsetUnset操作后当前节点位置会设置为无效状态。以下代码验证。

<?php    $sql = new SplDoublyLinkedList();    $sql->push('a');    $sql->push('b');    $sql->push('c');    $sql->push('d');    $sql->push('e');    $sql->rewind();    $sql->next();      echo "当前指针位置=>" . $sql->key() . PHP_EOL;    echo $sql->valid()? "节点有效,节点内容为=>" . $sql->current() . PHP_EOL : "节点无效\n";     $sql->offsetUnset($sql->key());    echo "当前指针位置=>" . $sql->key() . PHP_EOL;    echo $sql->valid()? "节点有效,节点内容为=>" . $sql->current() .PHP_EOL : "节点无效\n"; 

执行结果为

    当前指针位置=>1    节点有效,节点内容为=>b    当前指针位置=>1    节点无效
1 0