1. array_shift() - 将数组开头的单元移出数组;array_push() - 将一个或多个单元压入数组的末尾(入栈);array_pop() - 弹出数组最后一个单元(出栈)
PHP中将一个数组作为一个栈 ,主要是使用array_push()和array_pop()两个系统函数来完毕。(“先进后出”)入栈主要是利用array_push()函数向第一个参数-数组的尾部加入一个或多个元素。然后返回新的数组长度。
而PHP中,将数组当做是队列则主要是用array_push和array_shift()实现。(“先进先出”)
$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,示比例如以下:
$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,示比例如以下:
$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 数组的开头。注意单元是作为整体被插入的,因此传入单元将保持同样的顺序。所有的数值键名将修改为从零开始重新计数,所有的文字键名保持不变。
$a = array("orange","banana");
array_unshift($a, "apple","strawberry","raspberry");
print_r($a);//输出结果为Array ( [0] => apple [1] => strawberry [2] => raspberry [3] => orange [4] => banana )
?>
$a=array("a"=>"red","b"=>"green");
array_unshift($a,"blue");
print_r($a);//输出结果:Array ( [0] => blue [a] => red [b] => green )
?>