Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使这些变量在foreach循环中动态_Php_Laravel - Fatal编程技术网

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);