php stdClass:将对象值赋给变量

时间:2010-08-09 10:35:35

标签: php stdclass

任何人都知道如何将stdClass值赋给变量?

我有一个stdClass对象,当我使用var_dump($userdetails->emailaddress)打印它时,它会将值打印为String(31)“asdas。@ fsdf.com”;

但是当我尝试将对象值赋给变量时,让我们说:

$to = $userdetails->emailaddress; 

$to值变为NULL ...

任何人都可以提供帮助吗?

3 个答案:

答案 0 :(得分:5)

听起来你做错了,因为

$obj = new StdClass;
$obj->email = 'foo@example.com';
$to = $obj->email;
var_dump($to); // string(15) "foo@example.com"

请注意,PHP中的变量和对象成员区分大小写(与函数和方法不同),所以

$to = $obj->eMail;
var_dump($to); // NULL

但是,在这种情况下,您还会收到PHP通知

Notice: Undefined property: stdClass::$eMail

最好在开发计算机上启用error_reporting(-1)和PHP.ini指令display_errors and display_startup_errors


因为它是CW。随意使用此空间进一步调试提示

答案 1 :(得分:0)

我认为没有任何错误/阻止从stdClass赋值给变量。请检查代码的拼写。

答案 2 :(得分:0)

var是否公开?

如果课程如下:

class Example
{
    public $emailaddress;

    public function example()
    {
        #do something
    }  

}

然后我看不出为什么会有问题。