PHP对象属性不随echo语句一起出现

PHP对象属性不随echo语句一起出现,php,arrays,oop,Php,Arrays,Oop,我无法显示对象的属性。这让我感到困惑。我在网上做了一些搜索,包括手册,但我真的不确定我的代码出了什么问题。我相信我打电话的方式是正确的。顺便说一下,这是我代码的一部分: print_r($this->data()); echo ' pwd:'.$this->data()->pwd; 第一行显示 Array ( [0] => stdClass Object ( [pwd] => MyPass) ) pwd: 我的第二行代码显示出来 Array ( [0] =&

我无法显示对象的属性。这让我感到困惑。我在网上做了一些搜索,包括手册,但我真的不确定我的代码出了什么问题。我相信我打电话的方式是正确的。顺便说一下,这是我代码的一部分:

print_r($this->data());
echo ' pwd:'.$this->data()->pwd;
第一行显示

Array ( [0] => stdClass Object ( [pwd] => MyPass) )
 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 = "";
}

$this->data()。键为
0
的第一个元素是standardclass对象,它有一个属性pwd。这样你就可以访问它了

$data = $this->data(); 
echo $data[0]->pwd;
如果你有最新的PHP版本(5.5+),你可以这样做

echo $this->data()[0]->pwd;

请包括对象的类和实例化
$data=$this->data();echo$数据[0]->pwd
如果你有最新的PHP版本,你可以像
echo$this->data()[0]->pwd
The
$this->data()
是一个数组,即您看到数组的原因。键为0的数组的第一个元素是standardclass对象,它具有属性pwd。如果有帮助,请告诉我@HariKT看起来像
$this->data()[0]-pwd
不适合我,因为它会生成内部服务器错误。我相信我的不是最新的PHP版本。但是
$data=$this->data();echo$数据[0]->pwd不打印任何内容。@HariKT我需要进一步检查。我已经接受了你的回答。谢谢。对不起,也许我用错词了
pwd
不是类的属性
data()
是类中的方法,它从另一个类返回对象。在对象内部有我想要打印出来的
pwd