2013-06-27 81 views
1

確定,所以這個循環和獲取信息,從DB工作IM:如何獲得環路最大值

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 
} 

我不知道我怎樣才能得到最大價值爲循環:

echo $id; //RESULTS: 314 
echo $price; //RESULTS: 300.00 
+0

谷歌如何獲得最大的從數據庫或數組值 – Baba

+0

http://stackoverflow.com/questions/6676768/php-get-highest -value-from-array可能? – chao

回答

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()函數來確定一個集合的最大數量。

+0

這一個工程,但我需要它使ECHO內循環 – Ered

+0

因此? 'echo max(...);' –

+0

如果$ id是一個ARRAY,只需使用'echo max($ id)'。如果'$ id'是一個STRING,使用'echo max(explode(「,」,$ id))'也許... –

1

要麼你使用SQL的MAX(),如果你可以修改你的SQL查詢,或保持最大值在每個循環的變量,並且每次將其重新分配:

$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 initiliazed它不會工作)

+0

當我回聲$ maxPrice = max($ maxPrice,$ price);結果是:250.00,300.00我只需要最高值 – Ered

+0

您必須在for循環後回顯它。 – roptch