PHP: удаление первого элемента массива с помощью функцииarray_shift()

Пример

<?php
$stack = array("orange", "banana", "apple", "raspberry");
$fruit = array_shift($stack);
print_r($stack);
?>

Вывод приведенного выше примера:

Array
(
    [0] => banana
    [1] => apple
    [2] => raspberry
)

array_shift() удаляет первый элемент массива и возвращает его как результат, уменьшает длину массива на один и сдвигает все остальные элементы на одну позицию вперед. Все числовые ключи будут изменены так, чтобы начать отсчет с нуля, а строковые ключи останутся без изменений.

Пример

<?php
$arr = array('a'=>1,'b'=>2,'c'=>'3');
array_shift($arr);
print_r($arr);

$arr2 = array('1'=>1,'2'=>2,'3'=>'3');
array_shift($arr2);
print_r($arr2);
?>

Вывод приведенного выше примера:

A
Array
(
    [b] => 2
    [c] => 3
)
Array
(
    [0] => 2
    [1] => 3
)

Если вы хотите сохранить числовые индексы ключей, вы можете использовать следующий метод:

Пример

<?php
$arr = array('1'=>1,'2'=>2,'3'=>'3');

function array_kshift(&$arr)
{
  list($k) = array_keys($arr);
  $r  = array($k=>$arr[$k]);
  unset($arr[$k]);
  return $r;
}
array_kshift($arr);
print_r($arr);
?>

Вывод приведенного выше примера:

Array
(
    [2] => 2
    [3] => 3
)