2013-04-26 30 views
1

我的数组的值是以单个数字开始,然后增加到数以千计。PHP排序数组值为0,1,2 ... 8,9,10,11,12等

我想排序的$ id,但有结果为:

0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 ....等

0,1,10,11,12,13,14,15,2,3,4,5,6,7,8,9 ....等

是这可能没有调整数组内的值?

谢谢:)

+0

显示你当前的代码。 – Nelson 2013-04-26 16:12:16

+1

如果你只有一个ar数字的一线,是否有原因排序()不起作用? – 2013-04-26 16:12:34

回答

4

我觉得

natsort (array &$array) 

是solution.From PHP手册:

<?php 
$array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png"); 

asort($array1); 
echo "Standard sorting\n"; 
print_r($array1); 

natsort($array2); 
echo "\nNatural order sorting\n"; 
print_r($array2); 
?> 

The above example will output: 

Standard sorting 
Array 
(
    [3] => img1.png 
    [1] => img10.png 
    [0] => img12.png 
    [2] => img2.png 
) 

Natural order sorting 
Array 
(
    [3] => img1.png 
    [2] => img2.png 
    [1] => img10.png 
    [0] => img12.png 
) 
+0

感谢您的帮助:) – JeffVader 2013-04-29 07:41:20