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=$rowfor ステートメントの直後に行を追加します。ループが終了した後の最後の値が含まれます

于 2013-05-18T23:32:57.510 に答える
1

php endを使用して、配列の最後の値を取得できます。

例えば;

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