2010-08-09 2 views
1

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

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

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

$to = $userdetails->emailaddress; 

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

Любой человек может помочь?

+1

Это должно работать нормально. Например, попробуйте: 'php -r '$ x = new stdClass; $ x-> foo = "bar"; $ foo = $ x-> foo; var_dump ($ foo); '' Он будет печатать "bar". Вставьте свой реальный код, возможно, что-то еще не так. –

+0

Это должно сработать. Можете ли вы представить полный пример, который отображает неправильное поведение? Вы проверили, что это не проблема с идентификатором (например, $ userDetails вместо $ userdetails)? –

ответ

0

Я думаю, что нет ничего неправильного/предотвратить присвоение значения из stdClass переменной. Pls проверяет правописание кода.

5

Это звучит, как вы делаете что-то неправильно, потому что

$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 

Полезная информация: enabl e error_reporting(-1) и директивы PHP.ini display_errors and display_startup_errors на машинах разработки.


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

0

Является ли публика открытой или нет?

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

class Example 
{ 
    public $emailaddress; 

    public function example() 
    { 
     #do something 
    } 

} 

Тогда я не могу понять, почему было бы проблемой.

+2

Это StdClass, поэтому любая другая видимость, чем публика, не должна применяться – Gordon

+0

А, я никогда не использовал StdClass, поэтому я просто предположил, что это имя примера. My bad * румянец * – Dorjan

Смежные вопросы