2015-03-04 4 views
0

У меня есть массив, который заполняет данные из API, я могу напечатать значение массива, но я не могу напечатать выбранные поля из массива. Вот фрагмент кода, с помощью которого я могу напечатать весь массив ...как печатать значения массива с помощью php

if($apiResponse['response']['status'] === 1) { 
     // No errors encountered 
     echo 'API call successful'; 
     echo PHP_EOL; 

     echo print_r($apiResponse['response']['data'], true); 

     echo PHP_EOL; 
    } 
    else { 
     // An error occurred 
     echo 'API call failed (' . $apiResponse['response']['errorMessage'] . ')'; 
     echo PHP_EOL; 
     echo 'Errors: ' . print_r($apiResponse['response']['errors'], true); 
     echo PHP_EOL; 
    } 

Здесь $ apiResponse [ «ответ»] [ «данные»] является массивом, который содержит следующее значение ... Я хочу принести [имя], [offer_url] и [preview_url] значения из массива ... вот массив, который я могу напечатать ...

([3228] => Array ([OfferUrl] => Array ([id] => 3228 [offer_id] => 232 
[name] => larl [offer_url] => http://www.nsssa.com/brands/loreacdl-paris.html/?utm_source=abcd&utm_medium=Affiliates [preview_url] => http://www.nsssa.com/brands/larl-paris.html/?utm_source=abcd&utm_medium=Affiliates 
[status] => active [created] => 2014-10-23 03:15:29 [modified] => 0000-00-00 00:00:00)) 
[3230] => Array ([OfferUrl] => Array ([id] => 3230 [offer_id] => 232 
[name] => Schwarzkopf [offer_url] => http://www.nsssa.com/brands/schwarzkopf.html/?utm_source=abcd&utm_medium=Affiliates [preview_url] => http://www.nsssa.com/brands/schwarzkopf.html/?utm_source=abcd&utm_medium=Affiliates 
[status] => active [created] => 2014-10-23 03:16:48 
[modified] => 0000-00-00 00:00:00)) 

Может кто-нибудь, пожалуйста, помогите мне с этим.

+0

использование эхо без print_r – ErasmoOliveira

+0

@ErasmoOliveira ... Я хочу, чтобы получить доступ к [offer_url] и [имя] и печатать их только – user3305327

+0

$ apiResponse [ 'ответ'] [ 'данные '] [' OfferUrl '] [' name '] – ErasmoOliveira

ответ

0

Вы имеете в виду это?

echo 'Name: ' . $apiResponse['response']['data'][3228]['OfferUrl']['name'] . PHP_EOL; 

Или

foreach ($apiResponse['response']['data'] as $data) { 
    echo $data['OfferUrl']['name'] . PHP_EOL; 
    // etc 
} 
+0

@ user1413722..yes ... но здесь 3228 не исправлено ... вы можете проверить весь массив здесь http://megaofferz.com/sc/xml1.php – user3305327

+0

@ user1413722 ... точно так же, как я ищу – user3305327

0
dont use print_r and echo in same lines 

if($apiResponse['response']['status'] === 1) { 
    // No errors encountered 
    echo 'API call successful'; 
    echo PHP_EOL; 

    echo $apiResponse['response']['data']['OfferUrl']['name']; 

    echo PHP_EOL; 
} 
else { 
    // An error occurred 
    echo 'API call failed (' . $apiResponse['response']['errorMessage'] . ')'; 
    echo PHP_EOL; 
    echo 'Errors: ' . $apiResponse['response']['errors']; 
    echo PHP_EOL; 
} 
0

Просто доступ к клавишам массива.

$id = $apiResponse['response']['data']['OfferUrl']['id']; 
echo "id: $id\n"; 
$offer_id = $apiResponse['response']['data']['OfferUrl']['offer_id']; 
$name = $apiResponse['response']['data']['OfferUrl']['name']; 
. 
. 
. 
Смежные вопросы