PHP中使用数组实现堆栈数据结构的代码

yipeiwu_com5年前PHP代码库
在堆栈中,最后压入的数据(进栈),将会被最先弹出(出栈)。
即在数据存储时采用“先进后出”的数据结构。
PHP中,将数组当做一个栈,主要是使用array_push()和array_pop()两个系统函数来完成。
入栈主要是利用array_push()函数向第一个参数的数组尾部添加一个或多个元素,然后返回新数组的长度,示例如下:
复制代码 代码如下:

<?php
$zhan=array("WEB");//声明一个数组当做栈
array_push($zhan,"PHP");//将字符串压入栈(数组)中
array_push($zhan,"WWW.CHHUA.COM");//再压入一个元素
print_r($zhan);//打印数组内容
?>

出栈主要是利用array_pop()函数将数组的最后一个函数弹出,并将数组的长度减1,示例如下:
复制代码 代码如下:

<?php
$zhan=array("WEB","www.chhua.com","WEB开发笔记","PHP","网站建设");//声明一个数组当做栈
array_pop($zhan);//将字符串出栈(数组)中
print_r($zhan);//打印数组内容 Array([0] => WEB[1] => www.chhua.com[2] => WEB开发笔记[3] => PHP)
?>

相关文章

PHP实现的函数重载功能示例

本文实例讲述了PHP实现的函数重载功能。分享给大家供大家参考,具体如下: 由于PHP是弱类型语言,因此函数的输入参数类型无法确定(可以使用类型暗示,但是类型暗示无法用在诸如整型,字符串之...

Thinkphp结合AJAX长轮询实现PC与APP推送详解

前言 本文主要给大家介绍的关于Thinkphp结合AJAX长轮询实现PC与APP推送的相关内容,分享出来供大家参考学习,话不多说,来一起看看详细的介绍。 实现逻辑 某个操作(比如新建一条...

PHP5.0 TIDY_PARSE_FILE缓冲区溢出漏洞的解决方案

漏洞说明 不得不再次吐槽一下exploit-db对exp审核的质量,这个exp仍然不能触发漏洞,修改第一个参数则可以触发,我给出的poc是一个可以触发php漏洞的,问题出现在php_ti...

PHP带节点操作的无限分类实现方法详解

本文实例讲述了PHP带节点操作的无限分类实现方法。分享给大家供大家参考,具体如下: 包含(移动多个节点;移动单个节点;删除多个节点;删除单个节点;新增节点),另附数据库表结构 一、db...

PHP5.2下preg_replace函数的问题

preg_replace 使用的超过了php5.2默认允许的字节,也就是pcre.backtrack_limit和pcre.recursion_limit的大小的问题。 Discuz!6...