0

アイデアは、製品のコンマ区切りリストを取得することですが、そのリストには「product_name (pipe) product_price*quantity」が含まれている必要があります。私ABC|20.00,DEF|60.00は次のコードを持っています:

    $products = $db->Execute($products_query);
    while (!$products->EOF) {
        $purchasedArray[] = array('products_name'=>$products->fields['products_name'],
                                    'final_price'=>$products->fields['final_price'],
                                    'products_quantity'=>$products->fields['products_quantity']);
        $products->MoveNext();
      }

次に、次のように foreach を実行します。

foreach ($purchasedArray as $purchased) {
    $list .= $purchased['products_name'] . '|' . ($purchased['final_price']*$purchased['products_quantity']);
}

結果を出力したい:

$listFinal = implode(','. $list);
echo $listFinal; 

しかし、いつものように、何かが欠けていて、これはうまくいきません。:) どんな助けでも大歓迎です。

編集: エラー ログに次のエラーが表示され、何もエコーしません: PHP Warning: implode() [<a href='function.implode'>function.implode</a>]: Argument must be an array in line XXX(参照echo $listFinal;)

4

1 に答える 1

2

あなたは単に文字列を連結しています。これを試してください:

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

$listFinal = implode(',', $formattedProducts);
echo $listFinal; 
于 2013-03-06T01:08:17.183 に答える