natsort()
函數是用于對一維數組進行自然排序的,它不能直接處理多維數組。如果你想對多維數組進行排序,需要自定義一個遞歸函數來實現。
以下是一個示例,展示了如何使用遞歸函數對多維數組進行自然排序:
function nat_sort_recursive(&$array) {
foreach ($array as &$value) {
if (is_array($value)) {
nat_sort_recursive($value);
}
}
natsort($array);
}
// 示例多維數組
$array = [
'file10.txt',
'file2.txt',
[
'file11.txt',
'file1.txt',
],
];
nat_sort_recursive($array);
print_r($array);
這個 nat_sort_recursive()
函數會遍歷數組的每個元素,如果元素是數組,則遞歸調用自身對子數組進行排序。最后,使用 natsort()
對當前數組進行排序。