Rumah > Soal Jawab > teks badan
Berikut ialah data grafik beritaJSON yang diperolehi Bagaimana untuk setiap mendapatkan nilai seperti tajuk, pengarang, ringkasan, dll.?
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
Secara peribadi, adalah disyorkan untuk menukar rentetan json kepada tatasusunan dan bukannya objek, untuk memudahkan operasi dan kebolehbacaan seterusnya.
mixed json_decode ( string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] )
assoc Apabila parameter ini BENAR, tatasusunan akan dikembalikan bukannya objek.
Cuba tetapkan parameter kedua json_decode() kepada benar.
怪我咯2017-06-08 11:03:53
Andaikan objek di atas dinamakan 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
Fahami apa yang @windfly katakan,
Untuk mengakses sifat stdClass Object, gunakan:
$obj->title;
Untuk mengakses sifat tatasusunan gunakan:
$obj['title'];
Jelas sekali anda tidak boleh mendapatkannya, ia ditulis seperti $obj['title']