所以我有问题。我有一个JSON数组
以下是JSON:http://pastebin.com/raw/XEzAEdfg
我怎么能把它循环一遍?以下是我目前尝试的内容:
$output = json_decode($result2);
foreach($output as $SuiFag){
echo $SuiFag->aaData[6];
}
?>
我想您的数据json数据应该是一个名为"aaData"的对象属性,类型为array,所以应该只有一个[字符,并且{和}应该定义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];
或如果你的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个元素;
您需要循环遍历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的积分