Вставка, удаление и замена элементов в массиве

Вставка, удаление и замена элементов в массиве выполняются с помощью функций

int array_push(array array, mixed var [, mixed...])

mixed array_pop(array array)

int array_unshift(array array, mixed var [, mixed...])

mixed array_shift(array array)

array array_splice(array input,

int offset [, int length [, array replacement]])

array array_unique(array array)

array array_merge(array array1, array array2 [, array...])

array array_chunk(array input,

int size [, bool preserve_keys])

Функция array_push() добавляет один или несколько элементов в конец массива, а функция array_pop() удаляет последний элемент массива.

Функции array_unshift() и array_shift() выполняют те же операции с элементами в начале массива.

Функция array_splice() удаляет length элементов массива, начиная со смещения offset, и, если задан третий параметр, заменяет удаленные элементы элементами массива replacement (если параметр length не задан, удаляются элементы до конца массива).

Функция array_unique() удаляет из массива повторяющиеся значения, оставляя только одно из них.

Функция array_merge() сливает массивы в один массив, а функция array_chunk(), наоборот, возвращает многомерный массив, содержащий исходный массив, разбитый на подмассивы размером size (последний подмассив может содержать меньше элементов). Если параметр preserve_keys равен true, то в подмассивах сохраняются ключи, в противном случае элементы подмассивов индексируются, начиная с индекса 0.

Пример 4.6.102. Использование функций array_push() и array_shift():

В этом и некоторых примерах этого раздела используется функция для вывода элементов массива:

// Вывод текущего состояния массива

function print_array($header, $array)

{

print "\n".$header;

foreach ($array as $value)

print " $value";

}

Моделирование очереди посетителей (шаг 1). Новый посетитель добавляется в конец очереди (шаг 2), а обслуженный посетитель удаляется из начала очереди:

// Очередь посетителей

$queue = array('Ivanov', 'Petrov');

// Вывод состояния очереди

print_array('Queue Step1: ', $queue);

// Добавление к очереди посетителя

array_push($queue, 'Sidorov');

// Вывод состояния очереди

print_array('Queue Step2: ', $queue);

// Удаление посетителя из очереди

array_shift($queue);

// Вывод состояния очереди

print_array('Queue Step3: ', $queue);

При выполнении этого фрагмента сценария будут выведены следующие строки:

Пример 4.6.103. Использование функции array_splice():

Замена элементов массива (функция вывода элементов массива print_array() определена в примере 4.6.102):

// Массив чисел

$a = array(5, 12, 32, 42, 46, 54);

// Вывод массива

print_array('Old array: ', $a);

// Удаление двух элементов массива,

// начиная с четвертого элемента и

// замена их тремя новыми элементами

array_splice($a, 3, 2, array(3, 4, 5));

// Вывод нового массива

print_array('New array: ', $a);

При выполнении этого фрагмента сценария будут выведены следующие строки:

Пример 4.6.104. Использование функции array_unique()(функция вывода элементов массива print_array() определена в примере 4.6.102):

Удаление повторяющихся элементов из массива и вывод нового массива:

// Массив чисел

$a = array(5, 12, 32, 42, 46, 54);

// Удаление повторяющихся элементов

$a = array_unique($a);

// Вывод нового массива

print_array('Trimmed array: ', $a);

При выполнении этого фрагмента сценария будет выведена следующая строка:

Пример 4.6.105. Использование функции array_merge():

Слияние массивов $a и $b:

$a = array(5=>0, 1, 2, 3); // Первый массив чисел

print '$a: '; print_r($a); // Вывод первого массива

$b = array(0, 1, 12, 10=>16); // Второй массив чисел

print '$b: '; print_r($b); // Вывод второго массива

$c = array_merge($a, $b); // Слияние массивов

print '$c: '; print_r($c); // Вывод нового массива

При выполнении этого фрагмента сценария будут выведены следующие строки:

Пример 4.6.106. Использование функции array_chunk():

Разбиение полученного в предыдущем примере 4.6.105 массива $c на подмассивы по 3 элемента в каждом (в последнем подмассиве будет два элемента):

$c = array_chunk($c, 3); // Разбиение массива

print 'new $c: '; print_r($c); // Вывод нового массива

При выполнении этого фрагмента сценария будут выведены следующие строки:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: