Получение и удаление части массива

array_slice
Получение части массива.

Синтаксис:
array array_slice(array arr, int offset [, int len])

Эта функция возвращает часть ассоциативного массива arr, начиная с элемента со смещением (номером) offset от начала и длиной len (если последний параметр не задан, до конца массива).

Параметры offset и len задаются по точно таким же правилам, как и аналогичные параметры в функции substr(). А именно, если offset>0, то последовательность будет начинаться с элемента, имеющего позицию offset от начала массива, а если <0, то отсчет производится от конца массива. Надо отметить, что первый элемент имеет нулевую позицию, а последний (-1).
Если указать length >0, то это число возвращаемых в массиве элементов, а если length <0, то это позиция последнего возвращаемого элемента в массиве arr от его конца.

$input = array("a", "b", "c", "e");$output = array_slice($input, 2);   // "c", "d", "e"$output = array_slice($input, 2, -1); // "c", "d"$output = array_slice($input, -2, 1); // "d"$output = array_slice($input, 0, 3); // "a", "b", "c"

array_splice
Удаляет часть массива или заменяет ее частью другого массива.

Синтаксис:
array array_splice(array arr, int offset [, int len] [, int repl])

Эта функция, также как и array_slice(), возвращает подмассив arr начиная с индекса offset максимальной длины len, но, вместе с тем, она делает и другое полезное действие. А именно, она заменяет только что указанные элементы на то, что находится в массиве repl (или просто удаляет, если repl не указан). Если offset>0, то последовательность будет начинаться с элемента, имеющего позицию offset от начала массива, а если <0, то отсчет производится от конца массива. Надо отметить, что первый элемент имеет нулевую позицию, а последний (-1).
Если указать length >0, то это число возвращаемых в массиве элементов, а если length <0, то это позиция последнего возвращаемого элемента в массиве arr от его конца.

$input = array("red", "green", "blue", "yellow");array_splice($input, 2);// Теперь $input===array("red", "green")array_splice($input, 1, -1);// Теперь $input===array("red", "yellow")array_splice($input, -1, 1, array("black", "maroon"));// Теперь $input===array("red", "green", "blue","black",           "maroon")array_splice($input, 1, count($input), "orange");// Теперь $input===array("red", "orange")

Последний пример показывает, что в качестве параметра repl мы можем указать и обычное, строковое значение, а не массив из одного элемента.

 








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



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