仅显示最后一个数组元素

时间:2014-02-21 20:56:59

标签: php virtuemart

这是Virtuemart,但它是更基本的PHP内容......

我需要一些帮助/暗示......

我想做什么 - 我想在Virtuemart购物车中仅显示具有一些ID的折扣的TaxAmount总和(它是 - >我希望每个折扣类型显示单独的折扣)。

这是我到目前为止所做的:

foreach ($this->cart->products as $pkey => $prow)
{
 if ($prow->product_discount_id==2) 
 {
  $discounts= $this->cart->pricesUnformatted[$pkey]['discountAmount'];
  $discountss+=$discounts;
  echo "<span class='priceColor2'>" . $discountss . "</span>" ;
 }
}

问题在于它是所有折扣总和的回声(虽然foreach是真的)...我如何才能显示最后一个元素或者更好地使用不同的解决方案?

TNX!

3 个答案:

答案 0 :(得分:0)

你应该将echo从foreach循环中取出。

$discountss = 0;
foreach ($this->cart->products as $pkey => $prow) {
    if ($prow->product_discount_id==2) {
        $discountss += $this->cart->pricesUnformatted[$pkey]['discountAmount'];
    }
}

echo "<span class='priceColor2'>" . $discountss . "</span>" ;

答案 1 :(得分:-1)

如果你想从数组中显示最后一个元素你可以使用end()。例如:

 $fruits = array('apple', 'banana', 'cranberry');
 echo end($fruits); // cranberry

答案 2 :(得分:-1)

不是100%肯定我会关注您,但您可以使用array_pop()返回数组的最后一个元素。

$myArray = array('apple', 'banana', 'orange');
$fruit = array_pop($myArray);

echo $fruit; //echoes 'orange'

有关详细信息,请参阅manual