[英]PHP Sorting - getting 10, 11, 12 ... 1, 20, 2 rather than 1, 10, 11, 12 ... 2, 20
[英]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.