2013-11-21 25 views
0

我想知道如何得到第一個和第二個更大的小數點號。在PHP中的數組。 像:如何獲得更大的小數點號碼。在兩個陣列

$a = 0.24; 
$b = 0.45; 
$c = 0.50; 
$d = 0.30; 

$large = array($a,$b,$c,$d); 

我怎麼能做到這一點,或者是功能,我需要使用?

謝謝!

+1

我在這裏看不到多個數組。你的預期產出是多少? – Rikesh

+0

我想得到第一個和第二個更大的小數點號。 ? – Sid

+0

@KunwarSiddharthSingh查看我的更新回答 –

回答

0

如果」重新想要檢索t他的第一和第二大值從一個數組,只需使用rsort()

$numbers = array(0.90, 0.30, 0.20, 0.50); 
rsort($numbers); 

$numbers現在將包含排序從最高到最低的數組,你將能夠訪問這樣的價值觀:

$highest = $numbers[0]; 
$secondHighest = $numbers[1]; 
0

試試這個.... number_format與可變

$large = array(number_format($a,2),number_format($b,2),number_format($c,2),number_format($d,2)); 
0

可以使用max($array);

$large = array($a,$b,$c,$d); 
$result = max($large); 

var_dump($result); 

這給:

float 0.5 

得到你需要的數組排序的第一和第二大要素。 asort按數值的升序對數組進行排序。第一個和第二個最大的數字是數組最右端的兩個數字。 array_pop刪除數組末尾的元素。第一個array_pop刪除最大,第二個array_pop刪除第二大。

$large = array($a,$b,$c,$d); 

asort($large); 

$largest = array_pop($large); 

$second_largest = array_pop($large); 

echo "largest = ".$largest; 

echo "second_largest = ".$second_largest; 

這給:

largest = 0.5 
second_largest = 0.45 
+0

感謝您的回覆,但我想要第一個和第二個更大的小數點號。在陣列.. – Sid

+0

看到我更新的答案 –

0

我不清楚你的requirement.If你需要得到更大的十進制沒有。在所有多個數組中的數組還是最大數? 如果您需要從每個陣列中獲取最大值,則可以使用max函數。 max()返回數值上最高的參數值。如果多個值可以被認爲具有相同的大小,那麼首先列出的值將被返回。

當給max()多個數組時,返回最長的數組。如果所有數組的長度相同,則max()將使用字典順序來查找返回值。

當給定一個字符串時,它將在比較時作爲整數進行轉換。

+0

感謝您的答覆,但我想第一個和第二個更大的小數沒有。在陣列中。 – Sid

0

你可以試試這個...

$large = array($a,$b,$c,$d); 
rsort($large); 
print_r($large); 

適用排序功能:

sort 
rsort 
asort 
arsort 
natsort 
natcasesort 
ksort 
krsort 

你也可以看到這個鏈接

How can I sort arrays and data in PHP?

這是非常有幫助對我們所有人來說

相關問題