Свойства массива объектов php, если они не существуют - PullRequest
0 голосов
/ 25 сентября 2011

Прежде всего, я думаю, что перепробовал все решения, с которыми сталкивался, и тем не менее проблема все еще существует.

facebookResponse Object
(
    [__construct:facebookResponse:private] => 
    [__resp] => stdClass Object
        (
            [data] => stdClass Object
                (
                    [id] => 00000000000
                    [name] => Random.User
                    [first_name] => Random
                    [last_name] => User
                    [link] => http://www.facebook.com/Random.User
                    [username] => Random.User
                    [birthday] => 11/10/1980
                    [gender] => male
                    [email] => xxxx@Random.User.com
                    [timezone] => -7
                    [locale] => en_US
                    [verified] => 1
                    [updated_time] => 2011-08-22T02:56:33+0000
                )

            [code] => 200
            [time] => 0.600512
            [length] => 386
            [type] => text/javascript; charset=UTF-8
        )

)

выше - пример выходного объекта.Я ищу особенности, некоторые из которых иногда не существуют.Где, если они не существуют, я просто хочу поймать факт пометить его как «нет» для моей БД и перейти к следующему.Мне не так везет.независимо от того, как я подхожу к этому, я сталкиваюсь с ошибками ..

, делаю ли я isset ()! isset () empty ()! empty () или какую-то комбинацию вышеупомянутого, пытающуюся поймать его как пустое,null, undefined, blank или просто даже не присутствует.

В примере вы увидите, что в приведенном выше примере вывода нет объекта location-> name.Так что мои последние попытки поймать это как не существует

if((isset($fb_result->location->name))
    AND(!empty($fb_result->location->name))
   AND(trim($fb_result->location->name) !== ""))
   {
        $currenthome = $fb_result->location->name;
    }
   else
   {
    $currenthome = "none";
    }

моя ошибка с вышеупомянутым: «Неопределенное свойство: stdClass :: $ location» и как бы я ни пытался его поймать, явсе равно получаю то же самое.

Ответы [ 2 ]

1 голос
/ 25 сентября 2011

Сначала нужно проверить атрибут "location", а затем углубиться

if(!empty($fb_result->location) && !empty($fb_result->location->name))
    $currenthome = $fb_result->location->name;
else
    $currenthome = 'none';
1 голос
/ 25 сентября 2011

Возможно, вы захотите взглянуть на Reflection API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...