Php 如何使这些变量在foreach循环中动态
我有购物车数据,我想使用贝宝,然后我想把购物车数据转换成这个格式 代码:Php 如何使这些变量在foreach循环中动态,php,laravel,Php,Laravel,我有购物车数据,我想使用贝宝,然后我想把购物车数据转换成这个格式 代码: $item_1 = new Item(); $item_1->setName('Item 1') // item name ->setCurrency('USD') ->setQuantity(2) ->setPrice('15'); // unit price $item_2 = new Item(); $item_2->setName('Item 2')
$item_1 = new Item();
$item_1->setName('Item 1') // item name
->setCurrency('USD')
->setQuantity(2)
->setPrice('15'); // unit price
$item_2 = new Item();
$item_2->setName('Item 2')
->setCurrency('USD')
->setQuantity(4)
->setPrice('7');
$item_3 = new Item();
$item_3->setName('Item 3')
->setCurrency('USD')
->setQuantity(1)
->setPrice('20');
// add item to list
$item_list = new ItemList();
$item_list->setItems(array($item_1, $item_2, $item_3));
PHP允许您动态创建变量的名称 例: 输出
[item_1] => A Object
(
[member] => 0
)
[item_2] => A Object
(
[member] => 1
)
[item_3] => A Object
(
[member] => 2
)
[item_4] => A Object
(
[member] => 3
)
[item_5] => A Object
(
[member] => 4
)
您可以先在assoc数组中定义不同的数据:
$data = array(
array(
'quantity' => 1,
'price' => '15'),
... // etc
);
然后迭代并添加到结果数组:
$result = array();
for($i = 0; $i < count($data); ++$i) {
$obj = new Item();
$obj->setName('Item ' . ($i+1)) // item name
->setCurrency('USD')
->setQuantity($data[i]['quantity'])
->setPrice($data[i]['price']);
$result[] = $obj;
}
$item_list = new ItemList();
$item_list->setItems($result);
$result=array();
对于($i=0;$isetName('Item')($i+1))//Item name
->设定货币(美元)
->设置数量($data[i]['quantity']))
->设定价格($data[i]['price']);
$result[]=$obj;
}
$item_list=new ItemList();
$item_list->setItems($result);
获取一个数组,然后根据选择的元素创建这些多项目对象。
$data = array(
array(
'quantity' => 1,
'price' => '15'),
... // etc
);
$result = array();
for($i = 0; $i < count($data); ++$i) {
$obj = new Item();
$obj->setName('Item ' . ($i+1)) // item name
->setCurrency('USD')
->setQuantity($data[i]['quantity'])
->setPrice($data[i]['price']);
$result[] = $obj;
}
$item_list = new ItemList();
$item_list->setItems($result);