2016-03-22 30 views
1

The of the codePhp dinamik değişken adı

foreach ($items as $item) 
{ 
    $i = 1; 
     $item_1 = new Item(); 
     $item_1->setName($item->product->name) // item name 
      ->setCurrency('USD') 
      ->setQuantity($item->qty) 
      ->setPrice($item->product->price); // unit price 
     $i = $i + 1; 
} 
     // add item to list 
     $item_list = new ItemList(); 
     $item_list->setItems(array(
      $item_1, 
      $item_2 
     )); 

ben sadece benim php becerileri herkes olabilir, sen bu işi yapmak için bir yol bulmak Olamadı fark gibi çok yüksek değildir, bu dinamik hale istiyorum yardım pls?

+1

? Ve neden bir dizi kullanmıyorsunuz? Veya döngüdeki listeye hemen eklensin mi? – mario

+0

döngüde listeye eklemek hemen sesler harika ama sadece ben yaptım çalışmadı, bazı hatalar yapmalıyım –

+0

Döngüden önce listeyi Instantiate, sonra '-> addItem ($ item_1)' içinde kullanın. – mario

cevap

1

yerine try Dizilerin böyle, neden alamaz tam avantaj gibi öğeleri isim:

$actualItems = array(); 
$i = 1; 
foreach ($items as $item) 
{ 
    $actualItems[$i] = new Item(); 
    $actualItems[$i]->setName($item->product->name) // item name 
     ->setCurrency('USD') 
     ->setQuantity($item->qty) 
     ->setPrice($item->product->price); // unit price 
    $i++; 
} 
// add item to list 
$item_list = new ItemList(); 
$item_list->setItems($actualItems); 
siz "dinamik" yapmak istiyorsunuz değişken
+0

bu durumda 2 öğe döndürürken bu durumda 2 var –

+0

Bu, $ realItems işlevi adlı bir dizideki tüm öğeleri döndürür: yalnızca sayacınızın döngüye yerleştirildiğini fark etti, dışarı taşıdı. – skrilled

+0

harika, yine de ben hala "https://api.sandbox.paypal.com/v1/payments/payment erişirken Http yanıt kodu 400 var." Ama hasta anladım, teşekkür ederim –