2017-01-22 5 views
0

変数の中で最高値と最低値を得る方法はありますか?PHP:変数の中で最高値と最低値を得る

の例では、私は、この変数

$val1 = 10 
$val2 = 20 
$val3 = 30 
$val4 = 40 
$val5 = 50 

と私は最高値と最低値を持つ変数を表示したり、別の変数に入れたい、この変数の中に持っているということです。以下のように。それは10の値を有し、だってそれは と$val1の値を有するだって$highval

$highval = $val5; 
$lowval = $val1; 

$val5

おかげ

+0

のですか? –

+0

申し訳ありませんタイプミス –

答えて

1

、それが配列に格納するのが最善です。

これを試してみてください:

$val1 = 10; 
$val2 = 20; 
$val3 = 30; 
$val4 = 40; 
$val5 = 50; 

$arr = compact('val1','val2','val3','val4','val5'); // Stores values in array $arr 
$highval = max($arr); // 50 
$lowval = min($arr); // 10 
2

私の提案そのような配列にスコアを置くことです:あなたは、値のリストを比較している場合

$scores = array(1, 2, 4, 5); 
$highest = max($scores); 
$lowest = min($scores); 
+0

申し訳ありませんdude.iは配列を使用しません。私のデータベース上のさまざまなクエリによって変数がフェッチされます –

+0

選択された回答は配列も使用しています。 –

+0

今私はあなたのポイントを得る。 。しかし、私はちょうどそれを他の答えが私のためにはるかに明確であるcoz投票した。それがあなたの答えを理解する理由です。と答えてくれてありがとう。 –

0

をうまく多分あなたは既に解決策を見つける...

変数はあなたの例のように数字を含めることはできません

$val1 = 10; 
$val2 = 20; 
$val3 = 30; 
$val4 = 40; 
$val5 = 50; 

$arr = compact('val1 ', 'val2 ', 'val3 ', 'val4 ', 'val5 '); 
$highval = max($arr); 
$lowval = min($arr); 
echo "$lowval"; // give val1 the first variable value In brackets inside 
echo "$highval"; // give val5 the last variable value In brackets inside 

lowval is val1 (10) 
 
highval is val5 (50) 
 
The above example will give correct results 
 
(you got the right results because it happened 
 
to have the values ​​in ascending order). 
 
WHY IS THIS WRONG !!! 
 
see below

ご注意 データがデータベースまたはXMLファイルから取得された場合、値は動的で昇順ではないため、この場合は間違った結果が返されます。

$val1 = 20; 
$val2 = 30; 
$val3 = 10; 
$val4 = 50; 
$val5 = 40; 

$arr = compact('val1 ', 'val2 ', 'val3 ', 'val4 ', 'val5 '); 
$highval = max($arr); 
$lowval = min($arr); 
echo"$lowval"; // val1 give the first variable value In brackets inside 
echo"$highval"; // val5 give the last variable value In brackets inside 

The above example will give wrong results 
 
lowval is val1 (20) 
 
highval isval5 (40) 
 
The right results are 
 
lowval=val3 (10) 
 
highval=val4 (50)

簡単な解決策は、文字と数字を置き換えることです

$val1 = 30; 
$val2 = 10; 
$val3 = 50; 
$val4 = 40; 
$val5 = 20; 

$vala = "$val1"; 
$valb = "$val2"; 
$valc = "$val3"; 
$vald = "$val4"; 
$vale = "$val5"; 

$arr = compact('vala ', 'valb ', 'valc ', 'vald ', 'vale '); 
$highval = max($arr); 
$lowval = min($arr); 

は今、結果が正しい

`$のval51`ある
echo "$lowval"; // give valb the lower value 
echo "$highval"; // give valc the higher value 

Now the results is correct 
 
lowval is valb (10) 
 
highval is valc (50)

関連する問題