PHP: удаление первого элемента массива с помощью функцииarray_shift()
Пример
<?php
$stack = array("orange", "banana", "apple", "raspberry");
$fruit = array_shift($stack);
print_r($stack);
?>
$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);
?>
$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);
?>
$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
)