International PHP Conference Berlin 2021

SplDoublyLinkedList::add

(PHP 5 >= 5.5.0, PHP 7)

SplDoublyLinkedList::addДобавляет/вставляет новое значение по указанному индексу

Описание

public SplDoublyLinkedList::add ( mixed $index , mixed $newval ) : void

Вставляет значение newval по указанному индексу index. Предыдущее значение (и все последующие), смещаются вверх по списку.

Список параметров

index

Индекс, по которому надо вставить значение.

newval

Значение, которое надо вставить по индексу index.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

Выбрасывает исключение OutOfRangeException, если index за пределами списка, либо если index не может быть представлен в виде целого числа.

add a note add a note

User Contributed Notes 2 notes

up
2
lincoln dot du dot j at gmail dot com
3 years ago
$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
        )

)
up
-2
gandung at ppp dot cylab dot cmu dot edu
3 years ago
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);
    }
}
To Top