我有一個字符串數組一個:PHP排序值範圍
0 - 5 50-100 10-50 150-250 100-150
現在我想這些自動排序到:
0-5 10-50 50-100 100-150 150-250
將如何我去解決這個問題?
我有一個字符串數組一個:PHP排序值範圍
0 - 5 50-100 10-50 150-250 100-150
現在我想這些自動排序到:
0-5 10-50 50-100 100-150 150-250
將如何我去解決這個問題?
您需要使用natsort()
功能。它數值進行排序「作爲一個人」 :)
$input = array('0-5', '50-100', '10-50', '150-250', '100-150');
natsort($input);
print_r($input);
http://www.php.net/manual/en/function.natsort.php 排序使用 「自然順序」 算法
$a = array("0-5", "50-100", "10-50", "150-250", "100-150");
natsort($a);
print_r($a);
結果數組:
Array
(
[0] => 0-5
[2] => 10-50
[1] => 50-100
[4] => 100-150
[3] => 150-250
)
注:該密鑰將保持不變,不會重新編號。
時,這是不期望的結果,您可能希望排序後自行將其重新編號:
foreach ($a as $v)
$new_a[] = $v;
$a = $new_a;
甚至更好:(THX @liquorvicar)
$a = array_values($a);
如果要重新編號最後的陣列,它更容易只是爲了呼籲它array_values(),即$ new_a = array_values($ A); – liquorvicar