这篇文章主要介绍“PHP如何删除数组中的首尾元素”,在日常操作中,相信很多人在PHP如何删除数组中的首尾元素问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP如何删除数组中的首尾元素”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
在PHP中内置了array_shif
函数来删除数组中的第一个元素,还有array_pop
函数用来删除数组中的最后一个元素,下面我们就分别来看一下这两种函数的用法。虽然都是删除元素,这两个函数不同于unset
函数和array_splice
函数,本篇介绍的两种函数不需要知道数组元素的键值和键名。
array_shif
函数-删除数组第一个元素
在PHP中可以通过array_shif
函数来对数组元素进行删除第一个的操作,array_shif
函数的基本语法格式如下:
array_shift(array)
其中需要注意的是:
参数array
表示的就是需要进行删除操作的数组,函数运行成功后返回的结果是被删除元素的值,如果函数运行不成功则返回的结果是NULL
。如果数组中的键名是数字的话,通过函数删除元素之后键名会重新进行分配,从0
开始后面是1
以此类推。
下面我们通过示例来看一下array_shift
函数的使用,示例如下:
<?php $num = array(10, 45, 9, 100, 6); array_shift($num); //删除数组开头的第一个元素 print_r($num); ?>
输出结果:
上述示例中,通过array_shift
函数删除了数组元素中的第一个元素,下面我们来看一下如果数组中的键名是数字会对输出结果有什么影响,示例如下:
<?php $num = array(10, 45, 9, 100, 6); array_shift($num); //删除数组开头的第一个元素 print_r($num); echo '<br/>'; $num1 = array(12=>10, 15=>45, 18=>9, 20=>100, 22=>6); array_shift($num1); //删除数组开头的第一个元素 print_r($num1); ?>
输出结果:
上述示例中可以看出,当数组中的键名为数字的时候,通过array_shift
函数来删除第一个数组元素的时候会重新从0
开始分配键名。
上述中我们了解到了可以通过array_shift
函数来删除数组中的第一个元素,那下面我们来看一下怎样通过array_pop
函数来删除数组元素中的最后一个元素。
array_pop
函数-删除最后一个元素
在PHP中与array_shift
函数类似的是,我们可以通过array_pop
函数来删除数组元素中的最后一个元素,array_pop
函数的基本语法格式如下:
array_pop(array)
其中需要注意的是:
参数array
就是需要进行删除操作的数组,函数执行成功的话返回的结果就是被删除的元素,如果数组为空或者参数不是数组,那么返回的结果就是NULL
。
下面我们通过示例来看一下array_pop
函数的使用,示例如下:
<?php $num = array(10, 45, 9, 100, 6); array_pop($num); //删除数组最后的一个元素 print_r($num); ?>
输出结果:
上述示例便是通过array_pop
函数来将数组中的最后一个元素进行删除,
在通过array_shif
函数删除第一个元素的时候我们了解到,当数组的键名是数字的时候,键名会重新分配,那么当我们使用array_pop
函数来对数组进行删除最后一个元素操作的时候,如果数组中元素的键名是数字的话,键名会被重新分配吗?
我们我们通过示例来验证一下,看看array_pop
函数会不会对数字键名产生影响,示例如下:
<?php $num = array(10, 45, 9, 100, 6); array_pop($num); //删除数组最后的一个元素 print_r($num); echo '<br/>'; $num1 = array(12=>10, 15=>45, 18=>9, 20=>100, 22=>6); array_pop($num1); //删除数组最后的一个元素 print_r($num1); ?>
输出结果:
通过上述示例能够发现,通过array_pop
函数删除数组中的最后一个元素,并不会像array_shif
函数一样遇到数字为键名的时候会重新分配键名。array_pop
函数不会重新分配键名。
到此,关于“PHP如何删除数组中的首尾元素”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。