在JSON中选择数组中的数组

时间:2016-07-29 03:55:59

标签: php json

如何在json文件中选择数组中的数组?

我设法使用intval()显示,但它只显示第一个数字。

JSON文件如下所示:

{
    "arrayone": [{
        "array": ["15000", "20000", "30000"]
    }, {
        "array": ["20000", "40000", "80000"]
    }]
}

我的PHP代码如下所示:

<input value="<?php echo $array["array"] ?>" />

时返回我的数组
<?php echo intval($array) ?>

以1返回我。

但是我能够使用以下内容在<td>上显示每个数组中的值:

<td>
  <?php
    foreach($arrayone->array as $int){
    echo $int . ",";
  }?>
</td>

以15000,20000,30000

返回给我

1 个答案:

答案 0 :(得分:1)

在任何非空数组上使用intval将始终返回1

我意识到这不是很好,我不是PHP专家,但是我正在搞乱这个并且能够通过首先解码JSON然后循环遍历每个级别来输出数组的结构。如果您对PHP更有经验,我相信可能有更简洁的方法来遍历每个循环。尽管如此...

  <?php
  $json = '{
    "arrayone": [{
        "array": ["15000", "20000", "30000"]
    }, {
        "array": ["20000", "40000", "80000"]
    }]
}';

   $a = json_decode($json, true);
   foreach($a as $b) {
       echo "arrayone<br />";
       foreach($b as $c) {
           foreach($c as $d) {
               echo "---array<br />";
               foreach($d as $e) {
                   echo "------".$e."<br/>";
               }
           }
       }
   }

?>

<强>输出:

arrayone
---array
------15000
------20000
------30000
---array
------20000
------40000
------80000