$a = new SplDoublyLinkedList;
$arr=[1,2,3,4,5,6,7,8,9];
for($i=0;$i<count($arr);$i++){
$a->add($i,$arr[$i]);
}
$a->push(11); // push 方法
$a->add(10,12); // add 方法必须带索引
$a->shift(); // 删除数组第一个值
$a->unshift(1); // 添加第一个值
$a->rewind(); // 从第一个开始
echo "SplDoublyLinkedList 数组最后一个/顶部值 " . $a->top() ." \n";
echo "SplDoublyLinkedList 数组计数值 " . $a->count() ." \n";
echo "SplDoublyLinkedList 数组第一个/底部值 " . $a->bottom() . " \n\n";
while($a->valid()){ // 使用 valid 方法检查
echo '键 ', $a->key(), ' 值 ', $a->current(),"\n"; // 在这里使用 key 和 current 方法
$a->next(); // 在这里使用 next 方法
}
$a->pop(); // 删除数组最后一个值
print_r($a);
$s=$a->serialize();
echo $s;
// 输出
SplDoublyLinkedList 数组最后一个/顶部值 12
SplDoublyLinkedList 数组计数值 11
SplDoublyLinkedList 数组第一个/底部值 1
键 0 值 1
键 1 值 2
键 2 值 3
键 3 值 4
键 4 值 5
键 5 值 6
键 6 值 7
键 7 值 8
键 8 值 9
键 9 值 11
键 10 值 12
SplDoublyLinkedList 对象
(
[flags:SplDoublyLinkedList:private] => 0
[dllist:SplDoublyLinkedList:private] => 数组
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
[6] => 7
[7] => 8
[8] => 9
[9] => 11
)
)
i:0;:i:1;:i:2;:i:3;:i:4;:i:5;:i:6;:i:7;:i:8;:i:9;:i:11;