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

以上实例输出结果为:

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

array_shift() 将 array 的第一个单元移出并作为结果返回,将 array 的长度减一并将所有其它单元向前移动一位。所有的数字键名将改为从零开始计数,文字键名将不变。

$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);

以上实例输出结果为:

Array [b] => 2 [c] => 3 Array [0] => 2 [1] => 3

如果要保留数字键的索引可以使用以下方法:

$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