计算数组中的出现次数

时间:2012-03-20 13:47:37

标签: arrays magento

我正在尝试计算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的值吗?

由于

2 个答案:

答案 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";

答案 1 :(得分: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;