我正在尝试打印下面简单类的属性。但相反,我得到上面的错误。我在这里没有找到类似问题的答案。错误在此行触发:
echo "$object1 name = " . $object1->name . "<br>";
在Windows帮助中使用XAMPP?
<?php
$object1 = new User("Pickle", "YouGotIt");
print_r($object1);
$object1->name = "Alice";
echo "$object1 name = " . $object1->name . "<br>"; /* this triggers the error */
class User
{
public $name, $password;
function __construct($n, $p) { // class constructor
$name = $n;
$password = $p;
}
}
?>
答案 0 :(得分:2)
您的代码中存在两个错误,
您在类构造函数中使用局部变量,而不是实例属性。你的构造函数方法应该是这样的:
function __construct($n, $p) {
$this->name = $n;
$this->password = $p;
}
现在出现错误,类的对象无法转换为字符串。这是因为$object
语句中的echo
,
echo "$object1 name = " ...
^^^^^^^^
您需要使用反斜杠转义此$object1
,如下所示:
echo "\$object1 name = " . $object1->name . "<br>";