注文の配列をループするスクリプトがあり、その特定の注文にあったすべてのアイテムを内部ループが通過します。スクリプトの最後で、文字列をすべての項目データと連結し、それぞれに一意の識別子を付ける必要があります。私の問題は、最初の注文を過ぎたときに発生します。
このループが 3 つの注文を反復すると仮定します。これが私の例です:
foreach ($_orders as $order)
{
$oid = $order['id'];
$i = 1;
foreach ($order['items'] as $item)
{
$cjItemStr .= '&ITEM'. $i . '=' . $item['sku'] . '&AMT' . $i . '=' . $item['price'] . '&QTY' . $i . '=' . $item['qty'];
$i++;
}
}
これにより、1 注文に必要なものが正しく出力されます。文字列は次のようになります。
&ITEM1=TT-5555&AMT1=5.00&QTY1=2&ITEM2=TT-3333&AMT2=10.00&QTY2=1&ITEM3=TT-2222&AMT3=15.00&QTY3=1
これは 1 つの注文ではうまく機能しますが、次の注文に移ると、別の注文が中断したところから続行するにはインクリメンターが必要です。ITEM4、AMT4、QTY4、ITEM5、AMT5、QTY5などに移動する必要があります。現在のところ、1に戻るだけです。これを修正する方法について何か考えがありますか?