Maison > Questions et réponses > le corps du texte
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
)
大家讲道理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.
怪我咯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);
天蓬老师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;
怪我咯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']