2015-03-02 107 views
0

我有这样的:PHP:的foreach将一个数的增加,以每个循环

foreach ($itemsCart as $value) { 

      $items['itemId' . $value->id]    = $value->id; 
      $items['itemDescription' . $value->id]  = $value->name; 
      $items['itemAmount' . $value->id]   = $value->price; 
      $items['itemQuantity' . $value->id]   = $value->quantity; 
     } 

此输出:

[itemId9] => 9 
[itemDescription9] => Product 
[itemAmount9] => 5.00 
[itemQuantity9] => 1 

[itemId5] => 5 
[itemDescription5] => Other Product 
[itemAmount5] => 8.00 
[itemQuantity5] => 2 

我需要一个序列号在阵列的关键,但在每一个循环:

[itemId1] => 9 
[itemDescription1] => Product 
[itemAmount1] => 5.00 
[itemQuantity1] => 1 

[itemId2] => 5 
[itemDescription2] => Other Product 
[itemAmount2] => 8.00 
[itemQuantity2] => 2 

连续数(从1开始)每个循环的的foreach ...

如果我设置我++,我得到:

[itemId1] => 9 
[itemDescription2] => Product 
[itemAmount3] => 5.00 
[itemQuantity4] => 1 

[itemId5] => 5 
[itemDescription6] => Other Product 
[itemAmount7] => 8.00 
[itemQuantity8] => 2 

我能做些什么?我已经失去了很多时间试图解决这个.. :(

感谢

+1

如果你正在读取一个数组不应该数组有唯一的产品ID? – 2015-03-02 17:38:33

回答

0

你是什么意思如果我设置i ++,我得到...

因为这样的事情应该工作:

$i = 0; 
foreach ($itemsCart as $value) { 
    $i++; 
    $items['itemId' . $i]   = $value->id; 
    $items['itemDescription' . $i] = $value->name; 
    $items['itemAmount' . $i]  = $value->price; 
    $items['itemQuantity' . $i]  = $value->quantity; 
} 

简单的东西,如果你的$itemCart键是整数0,1,...:

foreach ($itemCart as $key => $value) 
{ 
    $items['itemId' . $key] = $value->id; 
    $items['itemDescription' . $key] = $value->name; 
    $items['itemAmount' . $key]  = $value->price; 
    $items['itemQuantity' . $key]  = $value->quantity; 
} 
+0

顺便说一句,我不太喜欢写这样的索引的想法。像Mark Ba​​ker所说的,二维阵列可能会更好。 – Niols 2015-03-02 17:49:02

+0

谢谢你,这工作! – Giovanne 2015-03-02 18:02:19

1

一个基本的嵌套数组可能比你想要做什么比较合适:

foreach ($itemsCart as $value) { 
    $items[$value->id]['itemId']    = $value->id; 
    $items[$value->id]['itemDescription']  = $value->name; 
    $items[$value->id]['itemAmount']   = $value->price; 
    $items[$value->id]['itemQuantity']   = $value->quantity; 
} 
0

而不是使用$用品 - > ID,使用你说你有$我。

$i=1; 
foreach ($itemsCart as $value) { 
    $items['itemId' . $i]    = $value->id; 
    $items['itemDescription' . $i]  = $value->name; 
    $items['itemAmount' . $i]   = $value->price; 
    $items['itemQuantity' . $i++]   = $value->quantity; 
} 

的增量++它连接到此字符串之后,$ i。您可以省略,并使用$我的每行代码之间++ 。

+0

谢谢!这工作也很好! – Giovanne 2015-03-02 18:03:07

0

只需使用另一个变量作为计数器:

$id = 1; 
foreach ($itemsCart as $value) { 
    $items['itemId' . $id]    = $value->id; 
    $items['itemDescription' . $id]  = $value->name; 
    $items['itemAmount' . $id]   = $value->price; 
    $items['itemQuantity' . $id]   = $value->quantity; 
    $id += 1; 
} 
+0

谢谢!这也正常工作!!!!!我需要3种不同的方式。谢谢你们。 – Giovanne 2015-03-02 18:04:32

0
$i = 1; 
foreach ($itemsCart as $value) { 
    $items['itemId' . $i]   = $value->id; 
    $items['itemDescription' . $i] = $value->name; 
    $items['itemAmount' . $i]  = $value->price; 
    $items['itemQuantity' . $i]  = $value->quantity; 
    $i++; 
} 
相关问题