<?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
答案 0 :(得分:0)
这是一个示波器问题。
在此函数中,$ err是未定义的,因为它属于函数的范围。
public function getError($p)
{
array_push($err,"$p");
}
如果要使用对象的$err
属性,则必须使用$this
来表示php您正在使用当前对象的元素。
此外,$p
周围的引号是多余的,该变量已经是字符串。
public function getError($p)
{
array_push($this->err, $p);
}