Php 声明动力学变量Laravel
我的问题是下一个。 我想做这个:Php 声明动力学变量Laravel,php,laravel,Php,Laravel,我的问题是下一个。 我想做这个: <? $item1=''; $item2=''; //etc.. ?> 所以我希望,你能理解我想要什么。 谢谢您可以使用变量动态创建变量。 如果我理解了您的问题并更正了代码,那么应该这样做: foreach ($cart as $item) { foreach ($item as $key => $value) { //so if foreach current is 3 to be $item3=new It
<?
$item1='';
$item2='';
//etc..
?>
所以我希望,你能理解我想要什么。
谢谢您可以使用变量动态创建变量。
如果我理解了您的问题并更正了代码,那么应该这样做:
foreach ($cart as $item) {
foreach ($item as $key => $value) {
//so if foreach current is 3 to be $item3=new Item(); etc..
${"item" . $key} = new Item();
${"item" . $key}->setName('Ground Coffee 40 oz')
->setCurrency('USD')
->setQuantity(1)
->setSku("123123") // Similar to `item_number` in Classic API
->setPrice(7.5);
}
}
请参见以下示例:
在我看来,这不是解决问题的好办法。
您可能应该改用数组 创建这样的新变量的问题在于,您不知道它的终点。
有一件还是50件?
这不是世界末日,你可以通过以下方式来应对:
While(isset(${"item" . $i})){
Echo ${"item" . $i};
$i++;
}
它的工作原理与for或foreach一样好,但调试起来比较困难。使用数组,您只需将其变量转储并查看内容。
使用单个变量会稍微困难一些。您可以使用变量动态创建变量。
如果我理解了您的问题并更正了代码,那么应该这样做:
foreach ($cart as $item) {
foreach ($item as $key => $value) {
//so if foreach current is 3 to be $item3=new Item(); etc..
${"item" . $key} = new Item();
${"item" . $key}->setName('Ground Coffee 40 oz')
->setCurrency('USD')
->setQuantity(1)
->setSku("123123") // Similar to `item_number` in Classic API
->setPrice(7.5);
}
}
请参见以下示例:
在我看来,这不是解决问题的好办法。
您可能应该改用数组 创建这样的新变量的问题在于,您不知道它的终点。
有一件还是50件?
这不是世界末日,你可以通过以下方式来应对:
While(isset(${"item" . $i})){
Echo ${"item" . $i};
$i++;
}
它的工作原理与for或foreach一样好,但调试起来比较困难。使用数组,您只需将其变量转储并查看内容。
使用单个变量会稍微困难一些。像这样尝试
$itemArray=[];
foreach ($cart as $item) {
foreach ($item as $key => $value) {
//so if foreach current is 3 to be $item3=new Item(); etc..
$item1 = new Item();
$item1->setName('Ground Coffee 40 oz')
->setCurrency('USD')
->setQuantity(1)
->setSku("123123") // Similar to `item_number` in Classic API
->setPrice(7.5);
$itemArray[]=$item1;
}
}
像这样试试
$itemArray=[];
foreach ($cart as $item) {
foreach ($item as $key => $value) {
//so if foreach current is 3 to be $item3=new Item(); etc..
$item1 = new Item();
$item1->setName('Ground Coffee 40 oz')
->setCurrency('USD')
->setQuantity(1)
->setSku("123123") // Similar to `item_number` in Classic API
->setPrice(7.5);
$itemArray[]=$item1;
}
}
你的意思是你想用$key作为数字创建名为item的新变量吗?请重写它,我完全不知道你要的是什么。你为什么要这样做而不是把值放在数组中?OP你应该阅读我的答案更新。我注意到你在我打字时接受了我的答案。你的意思是你想创建名为item的新变量,编号为$key?请重写它,我完全不知道你要的是什么。你为什么要这样做而不是将值放在数组中?OP你应该阅读我对我答案的更新。我注意到你在我打字时接受了我的答案。