PHP使用数组实现队列、堆栈(实际就是先进先出、先进后出怎样实现)

编程

1. array_shift() - 将数组开头的单元移出数组;array_push() - 将一个或多个单元压入数组的末尾(入栈);array_pop() - 弹出数组最后一个单元(出栈)

 

PHP中将一个数组作为一个栈 ,主要是使用array_push()和array_pop()两个系统函数来完毕。(“先进后出”)入栈主要是利用array_push()函数向第一个参数-数组的尾部加入一个或多个元素。然后返回新的数组长度。

而PHP中,将数组当做是队列则主要是用array_push和array_shift()实现。(“先进先出”)

 

<?php

$zhan=array("WEB");//声明一个数组当做栈/队列

array_push($zhan,"PHP");//将字符串压入栈/队列(数组)中

array_push($zhan,"WWW.CHHUA.COM");//再压入一个元素

array_push($zhan,"WEB开发笔记");

array_push($zhan,"PHP");

array_push($zhan,"站点建设");

print_r($zhan);//打印数组内容

?>

结果为:Array ( [0] => WEB [1] => PHP [2] => WWW.CHHUA.COM [3] => WEB开发笔记 [4] => PHP [5] => 站点建设 )

出队列主要是利用array_shift()函数将数组的第一个元素弹出,并将数组的长度减1,示比例如以下:

<?php

$zhan=array("WEB","www.chhua.com","WEB开发笔记","PHP","站点建设");//声明一个数组当做栈

array_shift($zhan);//将字符串出队(数组)

print_r($zhan);//打印数组内容 Array ( [0] => www.chhua.com [1] => WEB开发笔记 [2] => PHP [3] => 站点建设 )

?>

array_shift($zhan);//再次将字符串出队(数组)

print_r($zhan);//打印数组内容 Array ( [0] => WEB开发笔记 [1] => PHP [2] => 站点建设 )

出栈主要是利用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 )

array_pop($zhan);//再次将字符串出栈(数组)

print_r($zhan);// Array ( [0] => WEB [1] => www.chhua.com [2] => WEB开发笔记 )

?>

2. array_unshift()(在数组开头插入一个或多个单元) 

array_unshift() 将传入的单元插入到 array 数组的开头。注意单元是作为整体被插入的,因此传入单元将保持同样的顺序。所有的数值键名将修改为从零开始重新计数,所有的文字键名保持不变。

<?php

$a = array("orange","banana");

array_unshift($a, "apple","strawberry","raspberry");

print_r($a);//输出结果为Array ( [0] => apple [1] => strawberry [2] => raspberry [3] => orange [4] => banana )

?>

<?php

$a=array("a"=>"red","b"=>"green");

array_unshift($a,"blue");

print_r($a);//输出结果:Array ( [0] => blue [a] => red [b] => green )

?>

 

以上是 PHP使用数组实现队列、堆栈(实际就是先进先出、先进后出怎样实现) 的全部内容, 来源链接: utcz.com/z/510953.html

回到顶部