数组 实现堆栈 php
使用数组实现堆栈(Stack)的 PHP 示例
堆栈是一种遵循后进先出(LIFO)原则的数据结构,可以通过 PHP 数组轻松实现。以下是几种核心操作的方法:
初始化堆栈
使用空数组表示堆栈:
$stack = array();
压入元素(Push)
使用 array_push() 函数或直接赋值:
array_push($stack, 'item1');
$stack[] = 'item2'; // 更高效的写法
弹出元素(Pop)
使用 array_pop() 移除并返回顶部元素:
$topItem = array_pop($stack);
查看顶部元素(Peek)
不修改堆栈的情况下获取顶部元素:

$topItem = end($stack);
检查堆栈是否为空
$isEmpty = empty($stack);
获取堆栈大小
$size = count($stack);
完整示例代码
class Stack {
private $stack;
public function __construct() {
$this->stack = array();
}
public function push($item) {
$this->stack[] = $item;
}
public function pop() {
if ($this->isEmpty()) {
return null;
}
return array_pop($this->stack);
}
public function peek() {
return end($this->stack);
}
public function isEmpty() {
return empty($this->stack);
}
public function size() {
return count($this->stack);
}
}
// 使用示例
$stack = new Stack();
$stack->push(10);
$stack->push(20);
echo $stack->pop(); // 输出20
echo $stack->peek(); // 输出10
注意事项
- PHP 数组本身已经提供了动态扩容功能,无需手动处理容量问题
array_push()比直接赋值性能略差,推荐使用$array[] = $value语法- 堆栈操作的时间复杂度均为 O(1)






