Функция array_slice() возвращает часть массива, начальная и конечная позиция которой определяется смещением от начала и необязательным параметром длины. Синтаксис функции array_slice():
array array_slice(array массив, int смещение [, int длина])
Значения параметров задаются по определенным правилам:
Если смещение положительно, начальная позиция возвращаемого фрагмента отсчитывается от начала массива.
Если смещение отрицательно, начальная позиция возвращаемого фрагмента отсчитывается от конца массива.
Если длина не указана, в возвращаемый массив включаются все элементы от начальной позиции до конца массива.
Если указана положительная длина, возвращаемый фрагмент состоит из заданного количества элементов.
Если указана отрицательная длина, возвращаемый фрагмент заканчивается в заданном количестве элементов от конца массива.
array_splice()
Функция array_splice() отдаленно напоминает array_slice() — она заменяет часть массива, определяемую начальной позицией и необязательной длиной, элементами необязательного параметра-массива. Синтаксис функции array_splice():
array_splice(array входной_массив, int смещение, [int длина], [array заменяющий_массив]);
Значения параметров задаются по определенным правилам:
Если смещение положительно, начальная позиция первого удаляемого элемента отсчитывается от начала массива.
Если смещение отрицательно, начальная позиция первого удаляемого элемента отсчитывается от конца массива.
Если длина не указана, удаляются все элементы от начальной позиции до конца массива.
Если указана положительная длина, удаляемый фрагмент состоит из заданного количества элементов.
Если указана отрицательная длина, из массива удаляются элементы от начальной позиции до позиции, находящейся на заданном расстоянии от конца массива.
Если заменяющий_массив не указан, то элементы, заданные смещением и необязательной длиной, удаляются из массива.
Если заменяющий_массив указан, он должен быть заключен в конструкцию аrrау()(если он содержит более одного элемента).
Рассмотрим несколько примеров, наглядно демонстрирующих возможности этой функции. В этих примерах будет использоваться массив $pasta (см. выше), с которым будут выполняться различные операции.
// Удаление всех элементов с пятой позиции до конца массива:
$pasta = array_splice($pasta, 5);
// Удаление пятого и шестого элементов:
$pasta = array_splice($pasta. 5, 2);
// Замена пятого и шестого элементов новыми значениями:
$pasta = array_splice($pasta, 5, 2, array("element1", "element2"));
// Удаление всех элементов, начиная с пятого, до третьего элемента с конца массива:
$pasta = array_splice($pasta, 5, -3);
Как видно из приведенных примеров, функция array_splice() обеспечивает гибкие возможности удаления элементов из массива при минимальном объеме кода.
shuffle()
Функция shuffle() сортирует элементы массива в случайном порядке. Синтаксис функции shuffle():