任何人都知道如何将stdClass的值赋给变量?php stdClass:将对象值赋值给变量
我有一个stdClass对象,当我使用var_dump($userdetails->emailaddress)
打印它时,它确实将值打印为字符串(31)“asdas。@ fsdf.com”;
但是当我尝试将对象的值赋给变量,让说:
$to = $userdetails->emailaddress;
的$to
值成为NULL ...
任何人都可以帮助吗?
任何人都知道如何将stdClass的值赋给变量?php stdClass:将对象值赋值给变量
我有一个stdClass对象,当我使用var_dump($userdetails->emailaddress)
打印它时,它确实将值打印为字符串(31)“asdas。@ fsdf.com”;
但是当我尝试将对象的值赋给变量,让说:
$to = $userdetails->emailaddress;
的$to
值成为NULL ...
任何人都可以帮助吗?
我认为没有任何错误/防止从stdClass值分配给变量。请检查代码的拼写。
这听起来像你正在做的事情错了,因为
$obj = new StdClass;
$obj->email = '[email protected]';
$to = $obj->email;
var_dump($to); // string(15) "[email protected]"
注意,变量和对象成员在PHP是区分大小写的(不像函数和方法),所以
$to = $obj->eMail;
var_dump($to); // NULL
然而,这种情况下您还会收到一份PHP通知
Notice: Undefined property: stdClass::$eMail
这是一个很好的做法e error_reporting(-1)
和开发机器上的PHP.ini指令display_errors
and display_startup_errors
。
由于它是一个CW。随意使用这个空间进行进一步的调试提示
这应该可以正常工作。例如,尝试:'php -r'$ x = new stdClass; $ x-> foo =“bar”; $ foo = $ x-> foo; var_dump($ foo);''它会打印“bar”。粘贴你的实际代码,可能还有其他问题。 – 2010-08-09 10:39:37
这应该工作。你能否提供一个显示不正确行为的完整示例?您是否检查过它不是标识符案例问题(例如$ userDetails而不是$ userdetails)? – 2010-08-09 10:41:02