PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

PHP数组操作之怎样删除数组中的首尾元素?

WBOY
WBOY 原创
2021-11-09 10:53:22 3104浏览

在之前的文章《怎样解决php中数组的排序和打乱问题?》中详细的介绍了php中数组排序的相关知识,本篇文章我们来看一下php中删除数组头部或者尾部元素操作的相关知识,希望对大家有帮助!

在上一篇文章中我们了解了想要将多个数组进行排序可以使用array_multisort函数,想要将数组内的元素进行打乱的话可以使用shuffle函数来实现,这些都是数组操作中比较常见的操作,下面我们来看一下在PHP中怎样才能完成删除数组中的第一个元素或者删除数组中的最后一个元素。

在PHP中内置了array_shif函数来删除数组中的第一个元素,还有array_pop函数用来删除数组中的最后一个元素,下面我们就分别来看一下这两种函数的用法。虽然都是删除元素,这两个函数不同于unset函数和array_splice函数,本篇介绍的两种函数不需要知道数组元素的键值和键名。

<strong><span style="max-width:90%">array_shif</span></strong>函数-删除数组第一个元素

在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);
?>

输出结果:

1109.01.png

上述示例中,通过array_shift函数删除了数组元素中的第一个元素,下面我们来看一下如果数组中的键名是数字会对输出结果有什么影响,示例如下:

<?php
$num = array(10, 45, 9, 100, 6);
array_shift($num);  //删除数组开头的第一个元素
print_r($num);
echo &#39;<br/>&#39;;
$num1 = array(12=>10, 15=>45, 18=>9, 20=>100, 22=>6);
array_shift($num1);  //删除数组开头的第一个元素
print_r($num1);
?>

输出结果:

1109.01.png

上述示例中可以看出,当数组中的键名为数字的时候,通过array_shift函数来删除第一个数组元素的时候会重新从0开始分配键名。

上述中我们了解到了可以通过array_shift函数来删除数组中的第一个元素,那下面我们来看一下怎样通过array_pop函数来删除数组元素中的最后一个元素。

<strong><span style="max-width:90%">array_pop</span></strong>函数-删除最后一个元素

在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);
?>

输出结果:

1109.04.png

上述示例便是通过array_pop函数来将数组中的最后一个元素进行删除,

在通过array_shif函数删除第一个元素的时候我们了解到,当数组的键名是数字的时候,键名会重新分配,那么当我们使用array_pop函数来对数组进行删除最后一个元素操作的时候,如果数组中元素的键名是数字的话,键名会被重新分配吗?

我们我们通过示例来验证一下,看看array_pop函数会不会对数字键名产生影响,示例如下:

<?php
$num = array(10, 45, 9, 100, 6);
array_pop($num);  //删除数组最后的一个元素
print_r($num);
echo &#39;<br/>&#39;;
$num1 = array(12=>10, 15=>45, 18=>9, 20=>100, 22=>6);
array_pop($num1);  //删除数组最后的一个元素
print_r($num1);
?>

输出结果:

1109.03.png

通过上述示例能够发现,通过array_pop函数删除数组中的最后一个元素,并不会像array_shif函数一样遇到数字为键名的时候会重新分配键名。array_pop函数不会重新分配键名。

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。