我在幻灯片中加载了许多文件,我按照客户要求显示的顺序编号。
我用glob $pics = glob("images/slideshow/*.jpg", GLOB_NOSORT);
抓住它们但是由于某种原因我得到了旧的Windows排序错误,其中11个被排序在2以上。
例如,
Array
(
[0] => images/slideshow/1.jpg
[1] => images/slideshow/14.jpg
[2] => images/slideshow/15.jpg
[3] => images/slideshow/16.jpg
[4] => images/slideshow/18.jpg
[5] => images/slideshow/2.jpg
[6] => images/slideshow/20.jpg
[7] => images/slideshow/21.jpg
[8] => images/slideshow/22.jpg
[9] => images/slideshow/23.jpg
[10] => images/slideshow/24a.jpg
[11] => images/slideshow/25.jpg
[12] => images/slideshow/26.jpg
[13] => images/slideshow/29.jpg
[14] => images/slideshow/3.jpg
[15] => images/slideshow/36.jpg
[16] => images/slideshow/38.jpg
[17] => images/slideshow/4.jpg
[18] => images/slideshow/40.jpg
[19] => images/slideshow/41.jpg
[20] => images/slideshow/5.jpg
[21] => images/slideshow/6.jpg
[22] => images/slideshow/7.jpg
)
我通过asort()
运行它,我似乎无法找出为什么这不起作用,缺少它是关于它们的字符串,而不是严格的数字。
答案 0 :(得分:6)
结帐natsort:
此函数实现了一个排序字母数字的排序算法 在保持关键/价值的同时,人类的方式 关联。
$array2 = array("img12.png", "img10.png", "img2.png", "img1.png");
print_r($array2);
Array
(
[3] => img1.png
[2] => img2.png
[1] => img10.png
[0] => img12.png
)