0

这个想法是得到一个逗号分隔的产品列表,但该列表必须包含“product_name (pipe) product_price*quantity” 例如,如果订单包含 2xABC(10.00 美元)和 3xDEF(20.00 美元),我的输出需要是“ 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 XXXecho $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 回答