删除PHP数组中头部、尾部、任意元素的实现代码
作者:php中文网 时间:2023-06-14 12:40:44
在之前的一篇文章我们介绍了《如何向PHP数组中头部和尾部添加元素》既然有添加元素,那么就有删除元素,今天这篇文章详细介绍如何删除数组中的头部元素和尾部元素,还有任意数组元素。
删除末尾元素:array_pop
就像 * 的弹夹一样,最后压入的 * 是最先弹出的,在计算机术语里,我们称之为先进后出栈
既然array_push
是往数组的末尾添加元素,那么array_pop就是从数组的末尾删除一个元素。
array_pop()
函数获取并返回数组的最后一个元素,并将整个数组的长度减 1 ,如果数组为空(或者不是数组),那么返回的就是 null。
语法格式如下:
mixed array_pop ( array &$array )
参数 array 为输入的数组。
下面是array_pop()函数删除组数最后一个元素的示例,具体代码如下:
<?php
header("Content-Type:text/html; charset=utf-8");
$atr = array("PHP","JAVA","ASP","VB"); //定义数组
$array = array_pop($atr); //删除数组中最后一个元素
echo "被删除的元素是; $array<br>"; //输出被删除的元素
print_r($atr); //打印数组结构
?>
输出结果为:
删除头部元素:array_shift
除了先进后出外,计算机中还有一种叫先进先出栈,可以看作是一个管道,先进去的元素最先出来
既然array_pop可以从数组最后开始弹出元素,那么应该有函数可以从数组的头开始弹出元素,我们使用array_shift
mixed array_shift ( array &$array )
下面我们就使用array_shift()函数来实现删除数组中头部元素的实例,具体代码如下:
<?php
header("Content-Type:text/html; charset=utf-8");
$atr = array("PHP","JAVA","ASP","VB"); //定义数组
$array = array_shift($atr); //删除数组中第一个元素
echo "被删除的元素是; $array<br>"; //输出被删除的元素
print_r($atr); //打印数组结构
?>
输出结果为:
其实删除组数中头部元素和删除尾部元素的语法都是一样的,只是所用的函数不一样而已!
删除任意数组中元素
上面我们介绍了怎么删除数组中头部和尾部的元素,删除任意数组中的元素比前两个都简单,删除任意元素可以直接使用unset就行了!
下面我们就使用unset函数来实现删除任意数组中的元素实例,具体代码如下:
<?php
header("Content-Type:text/html; charset=utf-8");
$atr = array("PHP","JAVA","ASP","VB"); //定义数组
unset($atr[1]); // 删除JAVA
print_r($atr); //打印数组结构
?>
输出结果为:
说明:上面删除的是索引数组,索引数组可以按指定下标删除,关联数组删除元素,可以按照key来删除指定的元素!
下面实例就是如何删除关联数组中的元素,具体代码如下;
<?php
header("Content-Type:text/html; charset=utf-8");
$atr = array("name"=>"PHP中文网","URL"=>"www.php.cn","QQ"=>"88526"); //定义数组
unset($atr["QQ"]); // 删除88526
print_r($atr); //打印数组结构
?>
输出结果为:
说明
unset 可以删除任意的变量或数组
参考代码如下:
<?php
header("Content-Type:text/html; charset=utf-8");
$atr = array("name"=>"PHP中文网","URL"=>"www.php.cn","QQ"=>"88526"); //定义数组
unset($atr); // 删除数组
var_dump($atr); //打印数组结构
?>
输出结果为: