2017-05-09 48 views
-4

我有值的數組(鍵並不重要):排序數組值與下劃線第一

$Array = array("File01","File02","File00","_File03");

我想按值排序此,以配合我的Windows文件系統,如:

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

我已經試過asort($Array),但是這給了我:

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

是否可以用進行排序第一個下劃線

+0

嘗試'ksort'函數 – Akintunde007

+0

'usort'具有一點自定義比較功能。 – CBroe

+0

如果你尋求,你會發現。一個簡單的谷歌搜索提供了答案,我Dup'd與 – RiggsFolly

回答

1

試試這個..它的工作。

<?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>"; 
?> 
+0

感謝您的提示。 – JustBaron

+0

歡迎您... –