删除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); //打印数组结构
?>
输出结果为:
猜你喜欢
- ALTER DATABASE DATAFILEd:\ORANT\DATABASE\USER1ORCL.ORA RESIZE 10
- <!--#include file="conn/conn.asp"--> <% set Newslis
- 数据库镜像是将数据库事务处理从一个数据库移动到不同环境中的另一个数据库中。镜像的拷贝是一个备用的拷贝,不能直接访问,它只用在错误恢复的情况下
- 如何在ADO中使用存储查询?对于使用参数存贮查询,我们可用下面的代码进行示例:Private cn As Ne
- 作为入门者来说,了解JavaScript中timer的工作方式是很重要的。通常它们的表现行为并不是那么地直观,而这是因为它们都处在一个单一线
- 对于熟悉 C/C++ 或 Java 语言的工程师来说,JavaScript 显得灵活,简单易懂,对代码的格式的要求也相对松散。很容易学习,并
- int connectDb() { EXEC SQL BEGIN DECLARE SECTION; char username[20]; c
- 如何用SQL 建表? 如下:CREATE TABLE statement
- <input name="a" type="checkbox"
- 以下是几个文件操作过程,创建文件,删除文件,修改文件:
- MySQL中模式就是数据库SHOW DATABASES;show databases;罗列所有数据库名称CREATE DATABASE &l
- 代码如下: 代码如下:<% '用ASP获取远程目标网页指定内容On Error Resume Next Server.Scri
- 这个验证类的完成有很长时间了,一直没有分享给大家使用了这么长时间之后感觉挺顺手,用于一些不需要特殊效果的表单验证个人认为已经足够了,还是挺好
- 由于ajax在跨域的访问上有问题,目前最好的方法是做代理.写了个代理程序和心得为了做ajax的代理,研究了下服务器端的xmlhttp并和客户
- Javascript中的eval函数让我们可以很方便地操作一系列变量(a1,a2,a3,……)。自从VBScript 5.0之后,我们也可以
- 美化主要表现在鼠标放到菜单上后(即鼠标悬停)的效果,这里首先介绍几个经常用到的CSS属性:backgr
- 本文介绍了几乎所有关于对象的基本概念,什么是对象,如何创建对象,对象的属性的设置和读取,删除属性的方法,构造函数,对象原型,父类,子类,继承
- 1.彻底弄懂CSS盒子模式一(DIV布局快速入门)3.彻底弄懂CSS盒子模式三(浮动的表演和清除的自述) 4.彻底弄懂CSS盒子模式四(绝对
- 在Https页面中,如果iframe所引入页面是非https协议的页面,或者src属性不存在都可能导致浏览器弹出安全警告。本人在网上查找相关
- 如何编写具有良好结构的CSS?如果在设计流程中缺乏"秩序"或"章法"是非常不利的,你得冒着风险去添加