2016-07-29 31 views
0

jsonファイルで配列内の配列を選択するにはどうすればよいですか?JSONの配列で配列を選択

intval()を使用して表示を管理しましたが、最初の番号のみが表示されます。

JSONファイルは次のようになります。

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

そして、私のPHPコードは次のようになります。

<?php echo intval($array) ?> 

が1で私を返しながら

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

は、Arrayを私に返します。

ハウ私が使用して<td>上の各配列の値を表示することができました版:15000を私に返し

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

、20000、30000

答えて

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/>"; 
       } 
      } 
     } 
    } 

?> 

OUTPUT:

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