SplDoublyLinkedList::add()
(PHP 5 >= 5.5.0, PHP 7)
Add/insert a new value at the specified index
说明
public SplDoublyLinkedList::add(mixed $index, mixed $newval) : void
Insert the value$newvalat the specified$index, shuffling the previous value at that index (and all subsequent values) up through the list.
参数
- $index
The index where the new value is to be inserted.
- $newval
The new value for the$index.
返回值
没有返回值。
错误/异常
ThrowsOutOfRangeExceptionwhen$indexis out of bounds or when$indexcannot be parsed as an integer.
$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]); } print_r($a); //Output: SplDoublyLinkedList Object ( [flags:SplDoublyLinkedList:private] => 0 [dllist:SplDoublyLinkedList:private] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 ) )
Maybe the basic usage is like this i think.. $a = new \SplDoublyLinkedList; if ($a instanceof \SplDoublyLinkedList) { $a->add(0, 'Paulus'); $a->add(1, 'Gandung'); $a->add(2, 'Prakosa'); // then, iterate over that because \SplDoublyLinkedList // is implementing \Iterator interface. foreach ($a as $value) { echo sprintf("%s\n", $value); } }