我需要从订单中获取productID,并以这种方式显示: [1234,7534,4587]
我可以通过以下方式获取产品ID:
$incrementId = "12345";
$order = Mage::getModel('sales/order')->loadByIncrementId($incrementId);
$items = $order->getAllItems();
$itemcount= count($items);
$meuproduto = array();
$i=0;
foreach($items as $itemId => $item) {
$meuproduto[$i]['id'] = $item->getProductId();
echo implode(", ", $meuproduto[$i]);
}
例如,此订单有产品2709和7048,因此我想显示: [2709,7048]
但是有了代码,它显示了: 27097048
我尝试过str_replace("", ", ", $meuproduto[$i]);
,但得到的结果相同。我尝试了不同的方法,但总是得到相同的结果。
print_r($meuproduto[$i]);
结果:
Array ( [id] => 2709 ) Array ( [id] => 7048 )
答案 0 :(得分:0)
您要回显每个产品而不是产品列表,因此请将回显置于循环之外。
您也永远不会更改$i
,因此它将始终写入数组的第一个元素,您可以使用[]
在数组的末尾添加一个项目... < / p>
$meuproduto = array();
foreach($items as $itemId => $item) {
$meuproduto[] = $item->getProductId();
}
echo implode(", ", $meuproduto);
答案 1 :(得分:0)
您可以使用以下代码
$meuproduto = array();
foreach($items as $itemId => $item) {
$id = $item->getProductId();
array_push($meuproduto,$id);
}
print_r($meuproduto);