請我如何以下陣列PHP:排序數組
Array
(
'ben' => 1.0,
'ken' => 2.0,
'sam' => 1.5
)
排序,
Array
(
'ken' => 2.0,
'sam' => 1.5,
'ben' => 1.0
)
感謝。
請我如何以下陣列PHP:排序數組
Array
(
'ben' => 1.0,
'ken' => 2.0,
'sam' => 1.5
)
排序,
Array
(
'ken' => 2.0,
'sam' => 1.5,
'ben' => 1.0
)
感謝。
嘗試。
<?php
$my_array = array('ben' => 1.0, 'ken' => 2.0, 'sam' => 1.5);
arsort($my_array);
print_r($my_array);
?>
arsort()
函數按相反順序對值進行排序。值保留其原始鍵。
別提了。我也通過這個學到了一些東西。 – jeni
這種排序從低到高。海報要高到低。因此rsort(); –
是的,剛纔看到了......我需要多加註意:-)給你倆+1 – prodigitalson
$arr = Array(
'ben' => 1.0,
'ken' => 2.0,
'sam' => 1.5
)
$sorted = asort($arr);
$reversed = rsort($sorted);
謝謝。但數組鍵不保留 – Kennedy
這很奇怪。根據文件,asort維護密鑰。哦,我知道,rsort正在重新混合它。 hmmmm – serialworm
是的,rsort是那裏的壞人。 asort()的作品,但我仍然不得不使用array_reverse()來獲得DESC訂單。不管怎麼說,還是要謝謝你。 – Kennedy
如果您使用常規的PHP數組排序功能,則會丟失數組密鑰。我想給你想要的最短路徑是這樣的:
$array = array("ben" => "1.0", "ken" => "2.0", "sam" => "1.5");
array_multisort($array, SORT_DESC);
print_r($array);
確保您所有的數組值是字符串或數字,否則結果將是不可預知的。
太棒了!它也可以。 – Kennedy
爲什麼你使用'''附近的數字像''ben'=> 1.0','。 – jeni
哦!我的錯。感謝我現在編輯。 – Kennedy