2016-04-08 3 views
1

В двух словах у меня возникают проблемы с печатью массива-корреспондента вне цикла на PHP. Я по существу перебираю массив идентификаторов кампаний, которые подставляются в URL-адрес запроса на завивание (это для извлечения массива JSON с сервера). Затем я использую regex для извлечения «base_bid» из этого JSON. В идеале, мне нужен вывести двумерный массив ассоциативного с [ «ID»] и [ «»] BASE_BID ключами, как это:Сложность с использованием ассоциативного массива за пределами цикла for

Array ([0] => Array ([id] => 12311 [base_bid] => 0.8) [1] => Array ([id] => 12322 [base_bid] => 0.4)) 

Проблема в том, что я не могу получить доступ к полному массиву ассоциативного за пределами цикл как значения перекрываются, то есть я получаю этот выход:

Array ([id] => 11710821 [base_bid] => 3.8416) 

Вот мой дизайн петли:

for ($i=0; $i < count($campaigns); $i++) { 
    $ch = curl_init('https://api.appnexus.com/campaign?id='.$campaigns[$i].''); 
    $options = array(CURLOPT_CUSTOMREQUEST => 'GET', 
    CURLOPT_RETURNTRANSFER => true, 
    CURLOPT_SSL_VERIFYPEER => false, 
    CURLOPT_HTTPHEADER => array(
     'Content-Type: application/json', 
     'Authorization:'.$token[1].'')); 
    curl_setopt_array($ch, $options); 
    $base = curl_exec($ch); 
    curl_close($ch); 

    preg_match('/"base_bid":([0-9\.]+)/', $base ,$bid); 
    $test['id'] = $campaigns[$i]; 
    $test['base_bid'] = $bid[1]; 
}; 

echo print_r($test); 

кто-нибудь знает, как я смог бы получить двумерный массив идентификаторов и base_bids в своем полностью вне моей петли?

Любые комментарии были бы весьма признательны!

Спасибо,

Sam

+0

Почему вы отклоняете мое редактирование –

ответ

2

Вам нужно добавить к $ тестового массива вместо перезаписи элементов в нем, например,

$test[] = array(
    'id' => $campaigns[$i], 
    'base_bid' => $bid[1], 
); 

Оператор [] добавляет новый элемент в $ тестового массива каждый раз, что должно дать вам структуру, которую вы хотите.

+0

Спасибо, что помогли мне понять этот iainn, я могу использовать массив вне моего цикла сейчас! –

Смежные вопросы