1

好的,我正在使用这个循环并从数据库获取信息:

for($i0 = 0; $i0 < $total0; $i0 ++) {
    $id = $oconecta->retrieve_value($i0, "id_tam_product");
    $price = $oconecta->retrieve_value($i0, "price_tam_product");

    echo $id; // RESULTS: 312, 313, 314
    echo $price; // RESULTS: 180.00, 250.00, 300.00
}

我想知道如何获得该循环的 MAX 值:

echo $id; //RESULTS: 314 
echo $price; //RESULTS: 300.00 
4

2 回答 2

2
$maxID = 0;
$maxPrice = 0;
for($i0=0;$i0<$total0;$i0++)
{
  $id=$oconecta->retrieve_value($i0,"id_tam_product");
  $price=$oconecta->retrieve_value($i0,"price_tam_product");

  $maxID = max($id, $maxID);
  $maxPrice = max($price, $maxPrice);
}

echo "MAX ID: $maxID - Max PRICE: $maxPrice";

使用该max()函数来确定集合的最大数量。

于 2013-06-27T16:17:00.223 回答
1

如果可以修改 SQL 查询,则使用 SQL 的 MAX(),或者在每个循环中将最大值保留在变量中,并每次重新分配:

$firstLoop = true;
$maxId = 0;
$maxPrice = 0;

for ($i0 = 0; $i0 < $total0; $i0++)
{
    $id = $oconecta->retrieve_value($i0, "id_tam_product");
    $price = $oconecta->retrieve_value($i0, "price_tam_product");

    if ($firstLoop) {
        $firstLoop = false;
        $maxId = $id;
        $maxPrice = $price;
    }
    else {
        $maxId = max($maxId, $id);
        $maxPrice = max($maxPrice, $price);
    }
}

(如果你有负值,布尔值就在这里,如果 $maxPrice 和 $maxId 用 0 初始化,它将不起作用)

于 2013-06-27T16:21:22.137 回答