2017-10-04 9 views
-2

私は配列json_decode($response, true);を使用してjsonデコードされた配列を持っています。これは配列をループして、Offerとトラッキングリンクを別々に取得する必要がありますが、誰も助けることができますか?Jsonで変換された配列をPHP内でループする

コピーJSONファイルここ

{"response":{"data":{"114723":{"Offer":{"id":"1","name":"name","description":"No Incent","preview_url":"http:\/\/www.google.com","currency":null,"is_expired":"0"},"TrackingLink":{"affiliate_id":"0","offer_id":0,"click_url":"url","impression_pixel":"img"}},"155655":{"Offer":{"id":"2","name":"name","description":"NO SMS No Email No Adult traffic No Bot Traffic 3G","preview_url":"url","currency":null,"is_expired":"0"},"TrackingLink":{"affiliate_id":"0","offer_id":0,"click_url":"url","impression_pixel":"img"}}}}} 

foreach($response['response']['data'] as $item){ 
    // foreach($item as $offer){ 
    // print_r($offer['preview_url']); 

    // } 
    foreach($item['TrackingLink'] as $trackLink){ 
     print_r($trackLink); 
    } 
    foreach($item['Offer'] as $offer){ 
     print_r($offer); 
    } 

} 

私が提供内の各項目を必要とし、リンクを追跡するには、何かが間違っている

+0

あなたがしようとしているものを私たちに示し、そしてなぜそれが動作しませんしてください。 –

+0

あなたは_getによって何を意味していますか?リンクを個別に提供して追跡していますか?両方に対して別々の配列が必要ですか? –

+0

私はオファーの内側に各コンポーネントを必要とし、トラッキングリンク – neena

答えて

1

ある場合は、配列をループはできる私を許しPHPために、適切に新しいこれを行う方法を知りませんこのような。あなたはほぼ正しいことをしています。

チェック作業のデモhttps://eval.in/873347

$data = '{"response":{"data":{"114723":{"Offer":{"id":"1","name":"name","description":"No Incent","preview_url":"http:\/\/www.google.com","currency":null,"is_expired":"0"},"TrackingLink":{"affiliate_id":"0","offer_id":0,"click_url":"url","impression_pixel":"img"}},"155655":{"Offer":{"id":"2","name":"name","description":"NO SMS No Email No Adult traffic No Bot Traffic 3G","preview_url":"url","currency":null,"is_expired":"0"},"TrackingLink":{"affiliate_id":"0","offer_id":0,"click_url":"url","impression_pixel":"<img src=\"http:\/\/tracking.sumatoad.com\/aff_i?offer_id=155655&aff_id=5073\" width=\"1\" height=\"1\" \/>"}}}}} 
'; 

$data = json_decode($data, true); // get array 

foreach ($data['response']['data'] as $key => $value) { 
    foreach ($value['Offer'] as $offerKey => $offerValue) { // get offer array elements 
     echo "$offerKey : $offerValue <br/>"; 
    } 
    foreach ($value['TrackingLink'] as $linkKey => $linkValue) { // get link array element 
     echo "$linkKey : $linkValue <br/>"; 
    } 
} 
+0

は私のために働いた。ありがとうございました。 – neena

+0

@neena:古いコメントを追加する代わりに[この回答を受け入れる](https://stackoverflow.com/help/someone-answers)あなたは良い答えをたくさん得ていますが、今何年も何も受け入れていません。 – usr2564301

関連する問題