使用php实现正常数组的堆栈

时间:2016-02-27 14:38:57

标签: php

我需要使用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);
    }

}

周围有吗? 请指导我,如果你知道如何在没有筹码的情况下做到这一点,我将感激不尽!

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:0)

您可以使用普通数组进行操作而不会出现问题。

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)];
    }

}