0

生成された文字列に何らかの一致カウントを追加する必要がありますが、方法がわかりません。配列にカウントを追加する方法はありますか?

私は次のコードを持っています(データベースクエリはしばらく前に実行されます):

while (!$products->EOF) {
      $purchasedArray[] = array('products_model'=>$products->fields['products_model'],
                                'products_name'=>$products->fields['products_name'],
                                'final_price'=>$products->fields['final_price'],
                                'products_quantity'=>$products->fields['products_quantity']);
      $products->MoveNext();
}
foreach ($purchasedArray as $purchased) {
    $formattedProductname[] = $purchased['products_name'];
    $formattedPrice[] = $purchased['final_price'];
    $formattedUnits[] = $purchased['products_quantity'];
}
$listFinal = implode('|', $formattedProductname);

さて、これで問題なく動作しますが、次の出力が必要になります。

product1=cookie|10.00|2&product2=paper|5.00|17&product3=...

私は検索して検索していますが、そのカウントを追加する方法に関する情報を見つけることができないようです (product* 1 *、product* 2 *...) 私は (おそらく) 次のように見えるはずです:

foreach ($purchasedArray as $purchased) {
    $formattedProducts[] = 'product'.**$position** . '=' . $purchased['products_name'] . '|' . $purchased['final_price'] . '|' . $purchased['products_quantity'];
    $formattedProductname[] = $purchased['products_name'];
    $formattedPrice[] = $purchased['final_price'];
    $formattedUnits[] = $purchased['products_quantity'];
}

$listFinal = implode('&', $formattedProducts);
$listFinalProducts = implode('|', $formattedProductname);

しかし、その部分を取得する方法がまったくわかりません$position...どんな助けも大歓迎です。

4

2 に答える 2

0

配列のキーでそれを行うことができます:

foreach ($purchasedArray as $key=>$purchased) {
    $formattedProducts[] = 'product'. $key . '=' . $purchased['products_name'] . '|' .  $purchased['final_price'] . '|' . $purchased['products_quantity'];
    $formattedProductname[] = $purchased['products_name'];
    $formattedPrice[] = $purchased['final_price'];
    $formattedUnits[] = $purchased['products_quantity'];
}

または、カウントを追加して行うこともできます。

    $count = 0;
    foreach ($purchasedArray as $purchased) {
        $count++;
        $formattedProducts[] = 'product'. $count . '=' . $purchased['products_name'] . '|' .  $purchased['final_price'] . '|' . $purchased['products_quantity'];
        $formattedProductname[] = $purchased['products_name'];
        $formattedPrice[] = $purchased['final_price'];
        $formattedUnits[] = $purchased['products_quantity'];
    }
于 2013-05-31T03:36:39.263 に答える
0
$idx=1;
foreach ($purchasedArray as $purchased) {
    //$formattedProducts[] = 'product'.**$position** . '=' . $purchased['products_name'] . '|' . $purchased['final_price'] . '|' . $purchased['products_quantity'];
    $formattedProducts[] = 'product'.$idx. '=' . $purchased['products_name'] . '|' . $purchased['final_price'] . '|' . $purchased['products_quantity'];
    $idx++;
    $formattedProductname[] = $purchased['products_name'];
    $formattedPrice[] = $purchased['final_price'];
    $formattedUnits[] = $purchased['products_quantity'];
}
于 2013-05-31T03:38:12.830 に答える