2016-04-08 29 views
1

Özetle, PHP'de bir döngü dışında bir assoc dizisi yazdırırken sorun yaşıyorum. Esasen, bir curl isteğinin URL'sine değiştirilen bir dizi kampanya kimliği üzerinde döngü yapıyorum (bu, sunucudan bir JSON dizisi almaktır). Daha sonra bu JSON'dan "base_bid" i almak için regex kullanıyorum. Ben dışında tam doç dizi erişememesiDöngü için ilişkisel dizi kullanma zorluğu

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

sorun olduğu: İdeal olarak, ben çıkışa böyle [ 'id'] ve [ 'base_bid'] tuşlarıyla iki boyutlu doç dizisi ihtiyaç değerleri olarak döngü bu çıktıyı almak anlamı örtüşmeyen: Burada

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

benim döngü tasarımı:

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); 

anybody kimliklerinin iki boyutlu bir dizi almak mümkün olacaktır biliyor mu ve base_bids kendi içinde benim döngüsümün dışında?

Herhangi bir yorum büyük takdir edilecektir!

sayesinde

Sam

+0

neden düzenlememi reddediyorsunuz –

cevap

2

Sen, içindeki unsurları üzerine yazmak yerine $ testi dizisine örneğin eklemek gerekir

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

Bu [] operatörü $ testi dizisine size istediğiniz yapıyı vermelidir her zaman, yeni bir öğe ekler.

+0

Bu iainn'i anlamama yardımcı olduğunuz için teşekkürler, şimdi dizimin dışında diziyi kullanabilirim! –