php实现栈
PHP 实现栈
栈是一种遵循后进先出(LIFO)原则的数据结构。PHP 中可以通过数组或类来实现栈的功能。
使用数组实现栈
PHP 的数组原生支持栈的操作,可以通过 array_push 和 array_pop 函数实现。
$stack = [];
// 入栈
array_push($stack, 'a');
array_push($stack, 'b');
array_push($stack, 'c');
// 出栈
$item = array_pop($stack); // 'c'
使用类实现栈
通过封装数组操作,可以创建一个更结构化的栈类。
class Stack {
private $stack = [];
public function push($item) {
array_push($this->stack, $item);
}
public function pop() {
if ($this->isEmpty()) {
throw new RuntimeException("Stack is empty");
}
return array_pop($this->stack);
}
public function peek() {
if ($this->isEmpty()) {
throw new RuntimeException("Stack is empty");
}
return end($this->stack);
}
public function isEmpty() {
return empty($this->stack);
}
public function size() {
return count($this->stack);
}
}
// 使用示例
$stack = new Stack();
$stack->push('a');
$stack->push('b');
$stack->push('c');
echo $stack->pop(); // 'c'
echo $stack->peek(); // 'b'
注意事项
- 数组实现的栈简单直接,适合快速使用。
- 类实现的栈更结构化,适合复杂场景,可以扩展更多功能如大小检查、异常处理等。
- 栈的常见操作包括入栈(push)、出栈(pop)、查看栈顶(peek)、检查是否为空(isEmpty)和获取大小(size)。






