Помогите с php loop - PullRequest
       4

Помогите с php loop

0 голосов
/ 30 декабря 2010

мне нужно извлечь данные из этого массива объектов

{
    "data": [
        {
            "id": "136104923104306",
            "from": {
                "name": "GetWith.It",
                "category": "Website",
                "id": "136132969751208"
            },
            "message": "Do u know y **LOVE IS BLIND**\nbcoz..\n''ur mom started to love u before seeing ur face''....!",
            "updated_time": "2010-10-05T13:41:42+0000",
            "comments": {
                "data": [
                    {
                        "id": "136104923104306_1075253",
                        "from": {
                            "name": "Hressence Ec",
                            "id": "1464305271"
                        },
                        "message": "this I would agree..love is surely blind..",
                        "created_time": "2010-10-12T01:40:47+0000",
                    }
                ]
            }
        }

Мой текущий код:

$data=json_decode(file_get_contents('https://myurl/where/this/data/is'));
foreach($data as $dts){
echo "$dts->message";
};

мне нужно извлечь комментарии .. и когда я пытаюсь

foreach($data->comments->data as $dts){
echo "$dts->message";
};

возвращает ноль! помогите пожалуйста

Ответы [ 2 ]

1 голос
/ 30 декабря 2010

Ваш $data на самом деле является объектом со свойством data , которое представляет собой массив, содержащий другой объект с объектом comments , который вы ищете. Итак:

foreach ($data->data as $item) {
    foreach ($item->comments->data as $comment) {
        echo $comment->message;
    }
}
0 голосов
/ 30 декабря 2010

Я предлагаю вам преобразовать его в ассоциативный массив:

$data=json_decode(file_get_contents('https://myurl/where/this/data/is'), true);

и посмотрите на структуру.

Я думаю, что ваш цикл должен выглядеть так:

foreach($data['data'] as $dts) {
    echo $dts['message'];
}

Обновление: Хотя мне удалось исправить JSON (по крайней мере, сейчас это кажется хорошим) json_decode все еще возвращает null. Понятия не имею. Сначала убедитесь, что ваша строка JSON верна!

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