繁体   English   中英

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

[英]PHP Sorting array with values 0,1,2…8,9,10,11,12 etc

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

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

如果不调整数组中的值,是否可以实现?

谢谢 :)

我认为

 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
)

尝试:

sort($myarr, SORT_STRING);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM