我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

array_unshift()函数,就存在array_shift()函数。本文描述一下php中的array_shift()函数的使用方法。array_shift()的主要作用是“将数组开头的单元移出数组”。接下来请看看相关代码例子,具体了解一下array_shift()函数的使用注意事项。

苏南大叔:php教程,如何理解array_shift()函数?数组移除首个元素 - array_shift
php教程,如何理解array_shift()函数?数组移除首个元素 (图1-1)

苏南大叔的“程序如此灵动”技术博客,记录苏南大叔的代码经验总结。本文测试环境:win10nginx@1.15.11php@8.2.10-nts

函数原型

函数原型:

array_shift(array &$array): mixed

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

简单例子

$list = array("name"=>"苏南大叔","sunan大叔","site" => "newsn.net");
$ret = array_shift($list);
var_dump($list);
var_dump($ret);

输出:

array(2) {
  [0]=>
  string(11) "sunan大叔"
  ["site"]=>
  string(9) "newsn.net"
}
string(12) "苏南大叔"

索引是否重置

数字索引将被重置,从零开始。但是,非数字索引不变。这一点上,array_shift()array_unshift()两个函数的处理方式一致。

返回值丢失了key

返回值,不返回原来的key,只返回value。对于上面的例子来说,首个元素的key信息丢失了。如果想保留相关信息的话,下面的代码可能会帮到你。【主体代码来自php官方文档的评论区】

$list = array("name"=>"苏南大叔","sunan大叔","site" => "newsn.net");
function array_kshift(&$arr)
{
  list($k) = array_keys($arr);
  $r  = array($k=>$arr[$k]);
  unset($arr[$k]);
  return $r;
}
$ret = array_kshift($list);
var_dump($list);
var_dump($ret);

输出:

array(2) {
  [0]=>
  string(11) "sunan大叔"
  ["site"]=>
  string(9) "newsn.net"
}
array(1) {
  ["name"]=>
  string(12) "苏南大叔"
}

移除多个元素

这个array_shift()只会移除头部的一个元素。所以,如果想移除多个元素或者指定元素的话,可能array_slice()更加符合要求。
参考文章:

相关文章

结束语

苏南大叔带来的更多php经验文章,请点击下面的链接:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   php