2012-03-20 64 views
0

我想要计算Magento中的购物车项目数组中出现的次数。计算数组中的出现

有数组中的几个项目,都带有price场(或者$ 0 $ 10)

我正在寻找这样做,是为了显示那些有0

价格的项目数

我目前有:

$session = Mage::getSingleton('checkout/session'); 
$items_array = $session->getQuote()->getAllItems(); 
foreach($items_array as $item) { 
    if ($item->getPrice() == 0) { 
     echo 'Item is free'; 
    } 
    else {  
    } 
} 

这只是输出的所有免费项目。理想情况下,我想只显示这些项目的数量。

我可以使用类似array_count_values的东西,但限制它仅计入那些值为0的值吗?

感谢

回答

1

你可以做到这一点几种方法,但具有代码最容易一会:

$session = Mage::getSingleton('checkout/session'); 
$items_array = $session->getQuote()->getAllItems(); 
$freeItems = 0; 
foreach($items_array as $item) { 
    if ($item->getPrice() == 0) { 
     $freeItems++; 
    } 
} 
echo "There are $freeItems free items"; 
0
$session = Mage::getSingleton('checkout/session'); 
$items_array = $session->getQuote()->getAllItems(); 

$free = 0; 
$notfree = 0; 
foreach($items_array as $item) { 
    if ($item->getPrice() == 0) { 
     echo 'Item is free'; 
     $free++; 

    } 
    else { 
     $notfree++; 
    } 
} 

echo 'total free items = ' . $free; 
echo 'total nonfree items = ' . $notfree;