PHP array_slice () null length приводит к пустому массиву

У меня есть массив, где я хочу использовать array_slice для удаления первого элемента массива. Вот команда:

$myArray = array_slice($myArray, 1); 

Теперь array_slice имеет 4-й аргумент, когда он установлен в true, он сохраняет ключи массива вместо их сброса. Мне нужно, чтобы этот параметр был равен true.

Третий аргумент – указать длину результирующего массива. Вы должны оставить этот аргумент вне, если хотите, чтобы массив был отрезан до конца массива вместо указания длины.

Поэтому я попробовал это:

 $myArray = array_slice($myArray, 1, NULL, true); 

И это приводит к пусту массива. Что я делаю не так? Есть ли другой способ «оставить» аргумент длины, не устанавливая его в NULL? Поскольку установка его в NULL, похоже, полностью очищает мой массив.

Кроме того, мое обходное решение заключается в следующем:

 $myArray = array_slice($myArray, 1, count($myArray)-1, true); 

но мне кажется, что я не должен был этого делать …

ОБНОВИТЬ

Это, похоже, ошибка с PHP 5.1.6

Я просто протестировал этот код:

 $myArray = array( 'test1' => 'test1', 'test2' => 'test2', 'test3' => 'test3', 'test4' => 'test4', ); var_dump(array_slice($myArray, 1, null, true)); 

И он отлично работает для меня, только показывая test2, test3 и test4.

Это было выполнено в 5.2.13. Попробуйте обновить PHP (я тоже знаю, но это dev dev).

попробуй это

 $myArray = array_slice($myArray, 1, -1, true); 

Не могли бы вы также использовать array_shift для удаления 1-го элемента массива?

EDIT: Кажется, вы хотите сохранить числовые ключи, не обращая внимания.