2014-09-29 64 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 
      ) 

    )