php stdClass: присвоение значения объекта переменной - PullRequest
1 голос
/ 09 августа 2010

Кто-нибудь знает, как присвоить значение stdClass переменной?

У меня есть объект stdClass, и когда я печатаю его с использованием var_dump($userdetails->emailaddress), он выводит значение как String (31) "asdas. @ Fsdf.com";

но когда я пытаюсь присвоить значение объекта переменной, скажем:

$to = $userdetails->emailaddress; 

значение $to становится NULL ...

Кто-нибудь может помочь?

Ответы [ 3 ]

5 голосов
/ 09 августа 2010

Звучит так, будто вы делаете что-то не так, потому что

$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 и display_startup_errors на компьютерах разработчиков.


Так как это CW. не стесняйтесь использовать это место для дальнейших советов по отладке

0 голосов
/ 09 августа 2010

Является ли вар публичным или нет?

Если класс сделан как:

class Example
{
    public $emailaddress;

    public function example()
    {
        #do something
    }  

}

Тогда я не понимаю, почему возникнет проблема.

0 голосов
/ 09 августа 2010

Я думаю, что нет ничего плохого в том, чтобы помешать присвоить значение из stdClass переменной.Пожалуйста, проверьте правильность написания кода.

...