Maison  >  Questions et réponses  >  le corps du texte

php - foreach obtient l'objet stdClass

Voici les données graphiques newsJSON obtenues. Comment foreach obtient-il des valeurs telles que le titre, l'auteur, le résumé, etc. ?

stdClass Object
(
    [item] => Array
        (
            [0] => stdClass Object
                (
                    [media_id] => media_id1
                    [content] => stdClass Object
                        (
                            [news_item] => Array
                                (
                                    [0] => stdClass Object
                                        (
                                            [title] => 标题1
                                            [author] => 作者1
                                            [digest] => 摘要1
                                            [content] => 内容1
                                            [content_source_url] =>
                                            [thumb_media_id] => media_id1
                                            [show_cover_pic] => 0
                                            [url] => http://mp.weixin.qq.com/
                                            [thumb_url] => http://mmbiz.qpic.cn/mmbiz/jpeg
                                            [need_open_comment] => 0
                                            [only_fans_can_comment] => 0
                                        )
                                )
                            [create_time] => 1438240064
                            [update_time] => 1438307092
                        )
                    [update_time] => 1438307092
                )
            [1] => stdClass Object
                (
                    [media_id] => media_id2
                    [content] => stdClass Object
                        (
                            [news_item] => Array
                                (
                                    [0] => stdClass Object
                                        (
                                            [title] => 标题2
                                            [author] => 作者2
                                            [digest] => 摘要2
                                            [content] => 内容2
                                            [content_source_url] =>
                                            [thumb_media_id] => media_id2
                                            [show_cover_pic] => 0
                                            [url] => http://mp.weixin.qq.com/
                                            [thumb_url] => http://mmbiz.qpic.cn/mmbiz/jpeg
                                            [need_open_comment] => 0
                                            [only_fans_can_comment] => 0
                                        )
                                )
                            [create_time] => 1438156103
                            [update_time] => 1444380718
                        )
                    [update_time] => 1444380718
                )
                )
    [total_count] => 5
    [item_count] => 4
)
天蓬老师天蓬老师2660 Il y a quelques jours1034

répondre à tous(4)je répondrai

  • 大家讲道理

    大家讲道理2017-06-08 11:03:53

    Personnellement, il est recommandé de convertir la chaîne json en tableau au lieu d'un objet, afin de faciliter les opérations ultérieures et la lisibilité.

    mixed json_decode ( string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] )

    assoc Lorsque ce paramètre est TRUE, un tableau sera renvoyé à la place d'un objet.
    Essayez de définir le deuxième paramètre de json_decode() sur true.

    répondre
    0
  • 怪我咯

    怪我咯2017-06-08 11:03:53

    Supposons que l'objet ci-dessus soit nommé obj

    $data = array();
    foreach ($obj->item as $item) {
        $data[] = $item->content->new_item[0];
    }
    var_dump($data);

    répondre
    0
  • 天蓬老师

    天蓬老师2017-06-08 11:03:53

         $object = (object) [
            'item' => [
                ['content' => [
                    'news_item' => [
                        'title'  => '标题1',
                        'author' => '作者1'
                        ]
                    ]
                ],
                ['content' => [
                    'news_item' => [
                        'title'  => '标题2',
                        'author' => '作者2'
                        ]
                    ]
                ]]
                
          ];
         
        $result = new stdClass();
        foreach($object->item as $val) {
            $result->title[] = $val['content']['news_item']['title'];
        }
        
        var_dump($result);die;

    répondre
    0
  • 怪我咯

    怪我咯2017-06-08 11:03:53

    Comprenez ce que @windfly a dit :
    Pour accéder à la propriété stdClass Object, utilisez :

    $obj->title;

    Pour accéder aux propriétés du tableau, utilisez :

    $obj['title'];

    Évidemment, vous ne pouvez pas l'obtenir, c'est écrit comme $obj['title']

    répondre
    0
  • Annulerrépondre