我有一个数组,其中包含我想按扩展名排序的文件名列表。首先是文件夹然后按扩展名排序的文件:
请考虑以下代码:
$arr = array("noext","world.b","hello.a","test.z","lol.f");
无论如何,我如何根据扩展名对上面的数组进行排序,以获得如下内容:
noext
hello.a
world.b
lol.f
test.z
我知道我可以使用像比较函数一样的东西。但我不知道我该怎么做。
任何帮助都将受到高度赞赏。
答案 0 :(得分:3)
你确实可以使用usort:
<?php
$arr = array("noext","world.b","hello.a","test.z","lol.f");
usort($arr, function($s1, $s2) {
$ext1 = pathinfo($s1, PATHINFO_EXTENSION);
$ext2 = pathinfo($s2, PATHINFO_EXTENSION);
return strcmp($ext1, $ext2);
});