2014-01-26 2 views
-1

Я пробегаем по некоторым данным, который выглядит примерно так:Почему я не могу получить доступ к свойству объекта в Еогеаспе PHP

Array 
(
[0] => stdClass Object 
    (
     [id] => 1 
     [email] => [email protected] 
     [fname] => joe1 
     [lname] => someone 
     [sent] => 0 
    ) 

[1] => stdClass Object 
    (
     [id] => 2 
     [email] => [email protected] 
     [fname] => joe2 
     [lname] => someone 
     [sent] => 0 
    ) 

) 

Я просто обхват через массив, как это ...

foreach ($recipients as $key => $u) { 
    //build email 
    echo $u->fname; 

      } 

Ничто не вторят и я получаю эту ошибку

Серьезность: Обратите внимание сообщения: Попытка получить свойство необъектного

Спасибо за любую помощь.

+4

И что тогда происходит? Хорошо выглядит отсюда. Почему вы не на самом деле описываете, что происходит? Разве вам не приходилось предоставлять как можно больше информации, чтобы получить лучшую помощь, а не такие забавные комментарии? :) – Nanne

+0

Какая ошибка вы получаете? И можем ли мы взглянуть на код, в котором $ recipients определено/заполнено? – MrVimes

+1

@Nanne этот сайт не был бы замечательным, если бы он не был для snarky комментариев :-) Извинения, добавлена ​​фактическая ошибка – jhodgson4

ответ

1

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

foreach ($recipients as $key => $u) { 

    if (!is_object($u)) { 
     echo "\$u is not an object!"; 
     var_dump($u); 
     exit; 
    } 

    if (!property_exists($u, 'fname')) { 
     echo "property fname is not defined!"; 
     var_dump($u); 
    } 

    echo $u->fname; 
} 
Смежные вопросы