PHP排序数组的值为0,1,2 ... 8,9,10,11,12等

Jef*_*der 1 php sorting numeric

我的数组的值以单个数字开头,然后增加到数千.

我想对$ 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 ....等等

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

谢谢 :)

Use*_*ern 5

我认为

 natsort ( array &$array )
Run Code Online (Sandbox Code Playgroud)

是解决方案.从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
)
Run Code Online (Sandbox Code Playgroud)