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() は array の最初の要素を除去し、その結果として返します。array の長さは 1 短くなり、他のすべての要素は 1 つ前に移動します。すべての数値キーは 0 から数え直され、文字列キーは変更されません。
例
<?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
)