PHP 对象 属性 没有出现 echo 语句
PHP Object property does not come out with echo statement
我在显示对象的 属性 时遇到问题。这让我百思不得其解。我在网上做了一些搜索,包括手册,但我真的不确定我的代码有什么问题。我相信我打电话的方式是正确的。顺便说一下,这是我的代码的一部分:
print_r($this->data());
echo ' pwd:'.$this->data()->pwd;
第一行显示
Array ( [0] => stdClass Object ( [pwd] => MyPass) )
我的第二行代码显示
pwd:
不知道哪一部分是错的。我只想显示 属性 但无法获取对象的 属性。谁能帮我解释一下?
提前致谢。
问题
$this->data()->pwd;
您正在调用一个方法和一个 属性...据我所知您不能那样做。
你只需要使用$this->pwd
这就是在 php 中回显对象的方式,在我的示例中,我创建了一个数组,将对象添加到数组中,对数组进行编码,然后最后用其中的对象。
$posts= array();
class Item {
public $title = "";
public $firstName = "";
public $lastName = "";
public $email = "";
public $id = "";
}
$e = new Item();
$e->title = $title;
$e->firstName = $firstName;
$e->lastName = $lastName;
$e->email = $email;
$e->id = $id;
array_push($posts, $e);
json_encode($posts);
echo json_encode($posts);
$this->data()
是一个数组,即为什么你看到的是一个数组。第一个键为 0
的元素是标准类对象,它有一个 属性 pwd。所以你可以访问它作为
$data = $this->data();
echo $data[0]->pwd;
如果你有最新的 PHP 版本 (5.5+) 你可以像
echo $this->data()[0]->pwd;
我在显示对象的 属性 时遇到问题。这让我百思不得其解。我在网上做了一些搜索,包括手册,但我真的不确定我的代码有什么问题。我相信我打电话的方式是正确的。顺便说一下,这是我的代码的一部分:
print_r($this->data());
echo ' pwd:'.$this->data()->pwd;
第一行显示
Array ( [0] => stdClass Object ( [pwd] => MyPass) )
我的第二行代码显示
pwd:
不知道哪一部分是错的。我只想显示 属性 但无法获取对象的 属性。谁能帮我解释一下?
提前致谢。
问题
$this->data()->pwd;
您正在调用一个方法和一个 属性...据我所知您不能那样做。
你只需要使用$this->pwd
这就是在 php 中回显对象的方式,在我的示例中,我创建了一个数组,将对象添加到数组中,对数组进行编码,然后最后用其中的对象。
$posts= array();
class Item {
public $title = "";
public $firstName = "";
public $lastName = "";
public $email = "";
public $id = "";
}
$e = new Item();
$e->title = $title;
$e->firstName = $firstName;
$e->lastName = $lastName;
$e->email = $email;
$e->id = $id;
array_push($posts, $e);
json_encode($posts);
echo json_encode($posts);
$this->data()
是一个数组,即为什么你看到的是一个数组。第一个键为 0
的元素是标准类对象,它有一个 属性 pwd。所以你可以访问它作为
$data = $this->data();
echo $data[0]->pwd;
如果你有最新的 PHP 版本 (5.5+) 你可以像
echo $this->data()[0]->pwd;