在循环内解析JSON与PHP
问题描述:
如何解析这个JSON与PHP?在循环内解析JSON与PHP
[{"index":0,"date":" 20120029","title":"testtitle"}
这有多个实例。例如:
[{"index":0,"date":" 20120029","title":"testtitle"},{"index":1,"date":" 20120007","title":"testtitle"},{"index":2,"date":" 20120006","title":"testtitle"}]
当我尝试一个在线解析器时,我得到了这个。
[
{
"index":0,
"date":" 20120029",
"title":"testtitle"
},
{
"index":1,
"date":" 20120007",
"title":"testtitle"
},
{
"index":2,
"date":" 20120006",
"title":"testtitle"
}
]
什么,我需要知道的是如何将我提取数据,并得到一个变量$index
,$date
,$title
?
我在foreach中需要这个。那么对于每一个事件回声呢?
任何帮助将是伟大的。
由于
答
在PHP可以使用json_decode
将数据转换回的阵列/对象(PHP docu)。对于实际的遍历,我宁愿在这里通常使用循环。
$data = json_decode('[{"index":0,"date":" 20120029","title":"testtitle"},{"index":1,"date":" 20120007","title":"testtitle"},{"index":2,"date":" 20120006","title":"testtitle"}]', true);
for($i=0; $i<count($data); $i++) {
echo $data[ $i ][ 'index' ];
echo $data[ $i ][ 'date' ];
echo $data[ $i ][ 'title' ];
}
但是,如果你想使用一个foreach
循环:
foreach($data as $item) {
echo $item[ 'index' ];
echo $item[ 'date' ];
echo $item[ 'title' ];
}
+0
你忘了通过'$ assoc'参数'json_decode' ......如果不是这样,你应该使用' - >':) –
+0
@Jack THX和编辑。 – Sirko
答
尝试
$data = '[{"index":0,"date":" 20120029","title":"testtitle"},{"index":1,"date":" 20120007","title":"testtitle"},{"index":2,"date":" 20120006","title":"testtitle"}]';
$json = json_decode($data);
foreach($json as $v)
{
echo $v->index;
echo $v->date;
echo $v->title;
}
答
你为什么不尝试josn_decode()?
$myNewArrayMadeFromJSON = json_decode($jsonString);
for() {
// A loop over $myNewArrayMadeFromJSON
}
你美丽的男人。谢谢! –