1

我正在尝试获取 for 循环中最后一次迭代的 $row->price 的值,如下所示

foreach ($getprices->result() as $row)
{
    if ($bb=='on'){
        $pric = $row->price+2.50;
        $pri = number_format($pric,2);
    }else{
        $pric = $row->price;
        $pri = number_format($pric,2);
    }

我确实尝试了以下方法,但它似乎没有用

$numItems = count($getprices->result());
$i = 0;
foreach($getprices->result() as $row) {
  if(++$i === $numItems) {
    if ($bb=='on'){
        $pric = $row->price+2.50;
        $pri = number_format($pric,2);
    }else{
        $pric = $row->price;
        $pri = number_format($pric,2);
    }
  }
} 

有什么建议么?

4

3 回答 3

3

$row->price在循环结束后使用:

foreach ($getprices->result() as $row)
{
    // ...
}

$lastprice = $row->price;

这实际上只是一个技巧,但它会起作用。如果你正在迭代一个数组,你也可以这样做:

$array = $getprices->result();
foreach ($array as $row)
{
    // ...
}

$lastprice = end($array)->price; // this will work independently of any loop
于 2013-05-18T23:32:05.247 回答
1

$lastitem=$row在 for 语句之后添加一行;它将包含循环完成后的最后一个值

于 2013-05-18T23:32:57.510 回答
1

您可以使用 php end获取数组的最后一个值。

例如;

$arr = $getprices->result();
$last = end($arr);
于 2013-05-18T23:33:23.450 回答