<?php
class Stack {
private $_data=array();
private $_end=null;
public function push($data){
if($this->_end===null){
$this->_end=0;
}else{
$this->_end++;
}
$this->_data[$this->_end]=$data;
}
public function pop(){
if(!is_array($this->_data)||empty($this->_data)){
return false;
}
$ret=$this->_data[$this->_end];
// 删除最后一个元素,因为已经pop,并使得最后索引向前移动一位
$popData=array_splice($this->_data, $this->_end);
$this->_end--;
return empty($popData)?null:$popData[0];
}
public function getData(){
var_dump($this->_data);
}
}
$demo= new Stack();
$demo ->push('i');
$demo ->push('am');
$demo ->push('tb');
echo $demo->pop('tb');
echo $demo->pop('am');
var_dump( $demo->pop('i'));
var_dump($demo->pop('i'));
$demo->getData();
结果:
tb
am
string(1) "i"
bool(false)
array(0) {
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。