2012-02-29 18 views
0

私は、これは完全にnoobの質問です確信しているが、私はstripe.comからのAPIレスポンスを反復処理しようとしていますし、私はこのようなものにするためにPHPの配列をエコーすることができる午前:反復PHPオブジェクト

{ "count": 3, 
"data": [ { "amount": 29900, 
     "object": "plan", 
     "interval": "month", 
     "livemode": false, 
     "currency": "usd", 
     "name": "vb Group unlimited", 
     "id": "vb-std-group2" }, 
     { "amount": 9900, 
     "object": "plan", 
     "interval": "year", 
     "livemode": false, 
     "currency": "usd", 
     "name": "vb Group to 20", 
     "id": "vb-std-group" }, 
     { "amount": 1900, 
     "object": "plan", 
     "interval": "year", 
     "livemode": false, 
     "currency": "usd", 
     "name": "vb-Individual", 
     "id": "vb-std-individual" } 
    ] 
} 

私がしようとしているのは、「データ」配列情報をエコーアウトすることです。どんな洞察もありがとう。

答えて

1

あなたが持っている文字列はJSONエンコードされています。 json_decodeを使ってそれをPHPオブジェクト、例えば$objにデコードします。次に、$obj['data']は配列です。 foreachループを使用して繰り返します。

foreach($obj['data'] as $key=>$object) 
    foreach($object as $key=>$value) 
     echo $key . " : " . $value; 
+0

ありがとう@xbonez。 json_decodeが見つかりませんでした。それはそれを得た。 –

0

このような何かしてみてください。これは、$応答がすでにオブジェクトであることを前提とし、それが実際にある場合は、ちょうどあなたがこの

$response = json_decode($response); 
0

チェックを使用する必要がありますし、テキスト

$reponseData = $response['data']; 
foreach($reponseData as $eachDataObj) 
{ 
    foreach($eachDataObj as $key => $val) 
    { 
     echo $key . " => ".$val; 
    } 
} 

をそれはあなたを助けるだろう

$myjson = '{ "count": 3, 
"data": [ { "amount": 29900, 
     "object": "plan", 
     "interval": "month", 
     "livemode": false, 
     "currency": "usd", 
     "name": "vb Group unlimited", 
     "id": "vb-std-group2" }, 
     { "amount": 9900, 
     "object": "plan", 
     "interval": "year", 
     "livemode": false, 
     "currency": "usd", 
     "name": "vb Group to 20", 
     "id": "vb-std-group" }, 
     { "amount": 1900, 
     "object": "plan", 
     "interval": "year", 
     "livemode": false, 
     "currency": "usd", 
     "name": "vb-Individual", 
     "id": "vb-std-individual" } 
    ] 
}'; 

$data =json_decode($myjson); 
$arrData = get_object_vars($data); 
foreach($arrData as $key=>$value){ 


    $arrData[$key] = $value; 
} 

//print_r($arrData['data']); 
foreach($arrData['data'] as $ke=>$va): 
    foreach($va as $k=>$v): 
     echo $k."-".$v."<br/>"; 
    endforeach; 
endforeach;