所以我有疑问。我有一个JSON数组
这里是JSON:http://pastebin.com/raw/XEzAEdfg
我怎么能循环通过?这是我此刻尝试的内容:
$output = json_decode($result2);
foreach($output as $SuiFag){
echo $SuiFag->aaData[6];
}
?>
答案 0 :(得分:1)
我想你的数据json数据应该是一个名为“aaData”的数组类型的对象属性,所以只有[字符应该在那里,而{和}应该定义json对象的开始和结束(traling逗号不是允许的):
$result2='{
"aaData": [
"Knife",
"/id/1676/",
"★ Karambit | Stained (Field-Tested)<\/a>",
"234.87",
"224.85",
"5907380460<\/a>",
"0.2123493403<\/a>",
"Inspect<\/a>"
]
}';
所以你可以使用直接对象属性访问(你需要foreach来扫描一个数组而不是一个对象的属性):
$output = json_decode($result2);
echo $output->aaData[6];
OR 如果你的json结构是这样的: 允许的):
$result2='{
...
"aaData": [
[
"Knife",
"/id/1676/",
"★ Karambit | Stained (Field-Tested)<\/a>",
"234.87",
"224.85",
"5907380460<\/a>",
"0.2123493403<\/a>",
"Inspect<\/a>"
],
...
]
}';
然后你的代码应该是:
$output = json_decode($result2);
foreach($output->aaData as $SuiFag){
echo $SuiFag[6];
}
打印数组“aaData”的每个元素的每个第6个元素;
答案 1 :(得分:0)
您需要遍历aaData数组然后输出第6行。下面将输出每个aaData数组的第6行
$output = json_decode($result2);
foreach($output as $SuiFag) {
for($i=0; $i<count($SuiFag);$i++) {
echo $SuiFag[$i][6] . '<br>';
}
}
?>
当然,如果要回显数组中的每个项目,可以添加第三个循环
$output = json_decode($result2);
foreach($output as $SuiFag) {
for($i=0; $i<count($SuiFag);$i++) {
for($x=0; $x<count($SuiFag[$i]);$x++) {
echo $SuiFag[$i][$x] . '<br>';
}
}
}
?>
由于你的json中只有aaData,你可以缩短它,但是允许你的json数组中有更多项:
foreach($output->aaData as $SuiFag) {
for($i=0; $i<count($SuiFag);$i++) {
echo $SuiFag[$i] . '<br>';
}
}
对lamp76的信用