$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;