使用 php 为普通数组实现堆栈


Implementing stack with php for normal array

我需要使用 php 创建一个堆栈,我看到的所有示例都是用于关联数组的,我需要一个普通数组,因为我将检索一堆字符串,通过它们的 id 调用它们在这个数组中。我以为堆栈会让它更容易.但当然总有一些东西。我试图解决这个问题,但它是一个关联数组

class Stack {
    private $stk = array();
    public function __construct() {
    }
    public function push($data) {
        array_push($this->stk, $data);
    }
    public function pop() {
        return array_pop($this->stk);
    }
}

周围有吗?请指导我,如果您知道如何在没有堆栈的情况下做到这一点,我将不胜感激!

PHP 已经实现了堆栈结构...它具有您可能想要的所有功能,而且速度要快得多。

http://php.net/manual/en/class.splstack.php

您可以使用普通数组毫无问题地做到这一点。

class Stack {
    private $stk;
    public function __construct() {
        $this->stk = array();
    }
    public function push($data) {
        $this->stk[]=$data;
    }
    public function pop() {
        $top = $this->top();
        unset($this->stk[count($this->stk)]);
        return $top;
    }
    public function top() {
        return $this->stk[count($this->stk)];
    }
}