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数组删除首尾元素的方法是什么”的介绍了,感谢各位的阅读,希望文本对大家有所帮助。如果想要了解更多知识,欢迎关注网络,小编每天都会为大家更新不同的知识。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: PHP数组删除首尾元素的方法是什么
本文地址: https://pptw.com/jishu/650422.html