PHP使用數組實現隊列、堆棧(實際就是先進先出、先進後出怎樣實現)

1. array_shift() - 將數組開頭的單元移出數組;array_push() - 將一個或多個單元壓入數組的末尾(入棧);array_pop() - 彈出數組最後一個單元(出棧)php

 

PHP中將一個數組做爲一個棧 ,主要是使用array_push()和array_pop()兩個系統函數來完畢。(「先進後出」)入棧主要是利用array_push()函數向第一個參數-數組的尾部加入一個或多個元素。而後返回新的數組長度。數組

而PHP中,將數組當作是隊列則主要是用array_push和array_shift()實現。(「先進先出」)app

 

<?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,示比例如如下:spa

<?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,示比例如如下:.net

<?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()(在數組開頭插入一個或多個單元) code

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 )
?>
相關文章
相關標籤/搜索