2014-09-29 65 views
0

我有一個問題如何加入對象在for循環

if (is_array($item)) { 
     for ($i=0; $i < count($item['quantity']); $i++) { 
      $object->setCurrency($currency); 
      $object->setName($item['title'][$i]); 
      $object->setQuantity($item['quantity'][$i]); 
      $object->setPrice($item['price'][$i]); 
      $arr[$i] = (array) $object; 
     } 
    d($arr); 
} 

當我的var_dump它的結果如下:

Array(
[0] => Array 
    (
     [PayPal\Common\PPModel_propMap] => Array 
      (
       [currency] => USD 
       [name] => Bed Bed 
       [quantity] => 1 
       [price] => 700 
      ) 

    ) 

[1] => Array 
    (
     [PayPal\Common\PPModel_propMap] => Array 
      (
       [currency] => USD 
       [name] => Bed Bed 
       [quantity] => 1 
       [price] => 70.78 
      ) 
    ) 

我嘗試了一些用PHP屬性數組但不成功,我想結果應該看起來像下面 我嘗試了一些屬性數組在PHP中,但不成功,我想結果應該看起來像下面

Array 
    (
    [0] => PayPal\Api\Item Object 
     (
      [_propMap:PayPal\Common\PPModel:private] => Array 
       (
        [currency] => USD 
        [name] => Bed Bed 
        [quantity] => 1 
        [price] => 700 
       ) 

     ) 

[1] => PayPal\Api\Item Object 
    (
     [_propMap:PayPal\Common\PPModel:private] => Array 
      (
       [currency] => USD 
       [name] => Bed Bed 
       [quantity] => 1 
       [price] => 70.78 
      ) 

    ) 

你能幫助我嗎?

+0

也許創建對象的新實例,結果呢? – Ghost 2014-09-29 07:49:50

+0

另外,對象聲明在哪裏? – briosheje 2014-09-29 07:50:34

+0

'$ arr [$ i] =(array)$ object;'嘗試將此行更改爲'$ arr [$ i] = $ object;' – Mohan 2014-09-29 08:01:32

回答

0

類似的東西:

if (is_array($item)) { 
    $arr = array(); 
    $count = count($item['quantity']); 
    for ($i=0; $i < $count; $i++) { 
     $object = new stdClass(); 
     $object->setCurrency($currency); 
     $object->setName($item['title'][$i]); 
     $object->setQuantity($item['quantity'][$i]); 
     $object->setPrice($item['price'][$i]); 

     $arr[] = $object; 
    } 

    var_dump($arr); 
} 

(I加入一些微小改進&初始化)和移除鑄造作爲陣列(array)$object =>$object)。

+0

嗨,這裏的結果 – user2877596 2014-09-29 08:20:34

0

@Etienne

這裏使用的情況下,當用戶

Array 
(
[0] => PayPal\Api\Item Object 
    (
     [_propMap:PayPal\Common\PPModel:private] => Array 
      (
       [currency] => USD 
      [name] => Bed Bed 
      [quantity] => 1 
      [price] => 70.78 
      ) 

    ) 

[1] => PayPal\Api\Item Object 
    (
     [_propMap:PayPal\Common\PPModel:private] => Array 
      (
       [currency] => USD 
      [name] => Bed Bed 
      [quantity] => 1 
      [price] => 70.78 
      ) 

    )