我要加载文件时显示错误

时间:2018-10-16 09:50:14

标签: php

<?php 
    class Errors {

        public $err=array();
        public function getError($p)
        {
            array_push($err,"$p");
        }
        public function displayError(){
            foreach ($err as $value) {
                echo "$value";
            }
        }
    }

    $m=new Errors();
    $m->getError("dghndvhdnbcf");
    $m->displayError();

 ?>

我在页面上收到此错误。

  

警告:array_push()期望参数1为数组,在中给出null   第8行的C:\ xampp \ htdocs \ project01 \ errors.php

     

注意:未定义变量:err in   第12行的C:\ xampp \ htdocs \ project01 \ errors.php

     

警告:为中的foreach()提供了无效的参数   第12行的C:\ xampp \ htdocs \ project01 \ errors.php

1 个答案:

答案 0 :(得分:0)

这是一个示波器问题。

在此函数中,$ err是未定义的,因为它属于函数的范围。

public function getError($p)
{
    array_push($err,"$p");
}

如果要使用对象的$err属性,则必须使用$this来表示php您正在使用当前对象的元素。

此外,$p周围的引号是多余的,该变量已经是字符串。

public function getError($p)
{
    array_push($this->err, $p);
}