Php 先用下划线对数组值排序

Php 先用下划线对数组值排序,php,arrays,sorting,Php,Arrays,Sorting,我有一个值数组键并不重要: $Array=arrayFile01、File02、File00、\u File03 我想按值对此进行排序,以匹配我的Windows文件系统,例如: Array ( [3] => _File03 [2] => File00 [0] => File01 [1] => File02 ) 我尝试了一个ort$数组,但这给了我: Array ( [2] => File00 [0] => File01 [1] => File02

我有一个值数组键并不重要:

$Array=arrayFile01、File02、File00、\u File03

我想按值对此进行排序,以匹配我的Windows文件系统,例如:

Array ( [3] => _File03 [2] => File00 [0] => File01 [1] => File02  ) 
我尝试了一个ort$数组,但这给了我:

Array ( [2] => File00 [0] => File01 [1] => File02 [3] => _File03 ) 

可以先用下划线排序吗?

试试这个。。它起作用了

<?php
$array = array("File01","File02","File00","_File03");
function sortUnderscoreToFront($a, $b) {
    if (substr($a, 0, 1) == '_' || substr($b, 0, 1) == '_') {
        return ((substr($a,0,1)=='_')?-1:1);
    }
    return strcmp(strval($a), strval($b));
}
usort($array, 'sortUnderscoreToFront');


echo "<pre>";
print_r($array)."</pre>";
?>

尝试ksort函数使用一个小的自定义比较函数sort。如果您查找,您将找到。一个简单的谷歌搜索提供了我重复的答案with@RiggsFolly我之前看到过,但没有应用逻辑。谢谢你的提示:谢谢你的提示。欢迎。。。