写点什么

【web 开发基础】PHP 数组元素的添加和删除操作 (49)

作者:迷彩
  • 2022-12-27
    广东
  • 本文字数:1475 字

    阅读完需:约 5 分钟

前言

在实际的开发中,对 PHP 数组元素的操作是非常频繁的,这也是 PHP 很重要的基础,其实在实际的开发中无论是 PHP 还是其他编程语言,在实际的项目中,大多都是对字符串和数组的操作,几乎在所有的编程语言中,数组作为最基础最简单的数据结构,它是我们操作数据的载体,同时它也是其他数据结构的基础。

在真正的业务开发中,curd 增删查改是最多的操作,平时我们所说的 curd 大多都是相对于数据库来说的,但是从语言层面来说它的本质还是对数组的操作,因为在开发中,我们对数据库中数据的操作大多是调用数据库相关的 API 来对数据进行操作,比如 PHP 对 mysql 的操作,使用的是 mysql 的扩展驱动,扩展里面根据 mysql 的标准封装了一系列数据库操作的接口。。。扯远了,废话不多说,接下来我们通过实例来了解数组元素的增删操作


向数组中添加元素

数组创建完成后用户还可以继续添加和删除元素,从而满足实际的编程需要。

数组是数组元素的集合,向数组中添加元素,就像往一个盒子里面放东西,这就涉及到“先进先出”或“后进先出”的问题。

先进先出就是队列,就像我们排队买火车票,先进入购买窗口的区域,购买完成后先从旁边的出口出去。

后进先出就是栈,类似一个桶,后者说像一个弹夹,给弹夹上子弹,最后压上的那颗子弹是最先打出去的。


PHP 对数组添加元素的处理使用 push()、pop()、shift()、unshiftI()函数来实现,可以实现先进先出,也可以实现后进先出。下面我们来看代码:

<?php$array = array('张三','李四','王五');array_unshift($array, '李白','鲁班');echo '<pre>';print_r($array);
复制代码

执行结果:


数组 $array 原来只有三个元素,array_unshift()向数组 $array 的头部添加了数组元素‘李白’和‘鲁班’。最后将数组输出,从结果可以看出添加元素的位置

array_unshift()函数语法格式如下:

array_unshift(目标数组,[添加数组1,...,添加数组n])
复制代码

上面是从头部添加元素,接着我们来看看从数组尾部添加元素,实现先进先出:

<?phparray_push($array,'刘备','关羽','张飞');echo '<pre>';print_r($array);
复制代码

执行结果:

在上例的基础上使用 array_push()向数组尾部添加‘刘备’、‘关羽’、‘张飞’三个元素,最后通过输出的结果可以看出元素添加的位置。

array_push()语法格式:

array_push(目标数组,[添加数组1,...,添加数组n])
复制代码

push 翻译过来就是‘推‘的意思,这个过程就像排队的时候把人从队伍后面向前推。


从数组中删除元素

从数组中删除数组就是添加数组的逆过程,PHP 使用 array_shift()和 array_pop()函数分别从数组的头部和尾部删除数组元素。接着我们通过例子来了解他们的用法:

<?php$delarr1 = array_shift($array);echo '<pre>';print_r($delarr1);echo '<pre>';print_r($array);
复制代码

执行结果:

array_shift()从 $array 的头部删除了第一个数组元素,并且直接返回所删除的元素值,且赋值给变量 $delarr1,通过输出的结果可看出删除的元素和数组剩余的元素。

array_shift()函数,仅删除目标数组的头一个数组元素,语法格式如下:

array_shift(目标数组)
复制代码

上面的例子是数字索引数组,如果是带键值的联合索引数组,他的效果相同,返回所删除的元素。接着我们再来了解如何删除数组的最后一个元素。

<?php$delarr2 = array_pop($array);echo '<pre>';print_r($delarr2);echo '<pre>';print_r($array);
复制代码

执行结果:

从执行结果可以看出,在原来数组 $array 的基础上,使用 array_pop()从数组尾部删除了最后一个元素,并且直接把删除的元素的值返回,且赋值给变量 $delarr2。

array_pop()语法格式如下:

array_pop(目标数组)
复制代码

就这样,使用 push()、pop()、shift()、unshiftI()函数,可实现数组的先进先出和实现后进先出

发布于: 2022-12-27阅读数: 50
用户头像

迷彩

关注

我的工作是常年写bug|公众号:编程架构之美 2020-06-18 加入

修bug的菜鸟~公众号:“互联网有啥事”已改名为“编程架构之美”

评论

发布
暂无评论
【web 开发基础】PHP数组元素的添加和删除操作 (49)_数组_迷彩_InfoQ写作社区