Array_splice() возвращает удаленные данные вместо измененного массива.Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Array_splice() возвращает удаленные данные вместо измененного массива.

Сообщение Anonymous »

У меня возникли проблемы с пониманием того, что именно делают array_splice и array_slice. Насколько я могу судить, array_splice должен возвращать массив ПОСЛЕ извлечения определенных элементов, а array_slice должен получать фрагмент массива.

Следующий код из php.net/array_splice руководство показывает, что этот код должен работать.

Код: Выделить всё

$input = array("red", "green", "blue", "yellow");
var_dump(array_splice($input, 2));
// $input is now array("red", "green")

$input = array("red", "green", "blue", "yellow");
var_dump(array_slice($input, 2));
// $input is now array("red", "green")
Однако, когда я запускаю этот код на php 5.3.4 и 5.1.6, результаты

Код: Выделить всё

array
0 => string 'blue' (length=4)
1 => string 'yellow' (length=6)
array
0 => string 'blue' (length=4)
1 => string 'yellow' (length=6)
Я неправильно понял руководство или это ошибка? Мне кажется, что array_splice действует так же, как array_slice

Кроме того, похоже, он не выполняет замены

Код: Выделить всё

$input = array("red", "green", "blue", "yellow");
var_dump(array_splice($input, 2, 2, array('foo')));
выходы

Код: Выделить всё

array
0 => string 'blue' (length=4)
1 => string 'yellow' (length=6)
Может ли кто-нибудь подтвердить, что это ошибка, и если нет, то объяснить, как это ДОЛЖНО работать?

РЕДАКТИРОВАТЬ:

РЕДАКТИРОВАТЬ:

p>

Нвм я понял. Вместо использования var_dump для array_splice мне следует использовать $input, поскольку array_splice изменяет $input вместо возврата новых значений.

array_slice возвращает значения, а array_splice устанавливает значения. в $input.

МОДы, пожалуйста, закройте или удалите это.

Подробнее здесь: https://stackoverflow.com/questions/590 ... fied-array
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»