1

我的数组的值以个位数开始,然后增加到数千个。

我想按 $id 排序,但结果如下:

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

不是

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

如果不调整数组中的值,这可能吗?

谢谢 :)

4

2 回答 2

5

我认为

 natsort ( array &$array )

是解决方案。来自 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
)
于 2013-04-26T16:12:35.933 回答
0

试试看:

sort($myarr, SORT_STRING);
于 2013-04-26T16:14:06.017 回答