Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么(我构建的)PHP堆栈不工作?_Php_Stack - Fatal编程技术网

为什么(我构建的)PHP堆栈不工作?

为什么(我构建的)PHP堆栈不工作?,php,stack,Php,Stack,我尝试用PHP构建堆栈,但它不起作用。为什么? 这就是我看到的问题: Warning: Missing argument 1 for object::object(), called in C:\Program Files (x86)\EasyPHP-12.1\www\tb\index.php on line 152 and defined in C:\Program Files (x86)\EasyPHP-12.1\www\tb\index.php on line 126 Notice: U

我尝试用PHP构建堆栈,但它不起作用。为什么?

这就是我看到的问题:

Warning: Missing argument 1 for object::object(), called in C:\Program Files (x86)\EasyPHP-12.1\www\tb\index.php on line 152 and defined in C:\Program Files (x86)\EasyPHP-12.1\www\tb\index.php on line 126

Notice: Undefined variable: txt in C:\Program Files (x86)\EasyPHP-12.1\www\tb\index.php on line 127

Fatal error: Call to undefined function back() in C:\Program Files (x86)\EasyPHP-12.1\www\tb\index.php on line 146
这是代码:(我在代码中写下了与//有关的问题行)


您的
对象
构造函数定义了一个参数
$txt
来实例化类。在继承自
对象的类
stack2
中,还必须编写一个构造函数,用所需参数调用其父构造函数

class stack2 extends object {
  public function __construct() {
    $txt = 'your text here';

    parent::object($txt);
  }
}
我会使用神奇的方法
\uu construct
,而不是与类同名的方法。因为如果重构类名称,还必须重构构造函数名称

第二个错误是使用
而不是
->
调用对象的方法。因此正确的路线应该是:

$arr[$this->head]->back($this->head-1);

您可能不想使用
堆栈
类的属性
$arr
,因此您必须使用
$this->arr
,而不是简单地使用上面示例行中的
$arr

谢谢!它解决了第一个问题。但我还有第三个问题(在第146行)。如果我只“推”一个物体,一切正常。但是如果我试着“推”更多,它会告诉我eror。在PHP中,你用
->
而不是
调用对象的方法。
$arr[$this->head]->back($this->head-1);