如何加入对象在for循环
问题描述:
我有一个问题如何加入对象在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
)
)
)
你能帮助我吗?
答
类似的东西:
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
答
@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
)
)
也许创建对象的新实例,结果呢? – Ghost 2014-09-29 07:49:50
另外,对象声明在哪里? – briosheje 2014-09-29 07:50:34
'$ arr [$ i] =(array)$ object;'尝试将此行更改为'$ arr [$ i] = $ object;' – Mohan 2014-09-29 08:01:32