我需要陣列(在它們出現的陣列內的順序在符號列表中所示的內容)分類到左邊數字的順序(從最高到最低)。
這些數字對應於右側目錄路徑中的分割數(它們不存儲在當前數組中)。
我的問題出現了,因爲我不知道如何使用示例中給出的值對數組進行排序 - 因爲它們在數組之外。我嘗試過使用多維數組,但是這隻會導致更多的混淆!
由於代碼在屏幕上輸出列舉如下:
- 6#C:\程序文件(x86)\瓦帕\ WWW \規劃器\進口\ homeworktasks
- 5#C:\程序文件(x86)\ wamp \ www \ planner \ import
- 7#C:\ Program Files(x86)\ Program Files(x86)\ wamp \ www \ planner \ import \ homeworktasks \ 11
- 7# \ wamp \ www \ planner \ import \ homeworktasks \ 15
- 7#C:\ Program Files(x86)\ wamp \ www \ planner \ import \ homeworktasks \ 17
- 7#C:\ Program Files(x86)\ wamp \ www \ planner \ import \ homeworktasks \ 9
- 7#C:\ Program Files(x86)\ wamp \ www \ planner \ import \ homeworktasks \ test
- 8#C:\ Program Files文件(x86)\ wamp \ www \ planner \ import \ homeworktasks \ test \
代碼:
<?php
//make all items in the array unique
$dir_list = array_unique($dir_list);
//create new array to sort into
$dir_list_sort = array();
//for each item in the array
foreach($dir_list as $dir)
{
//find depth of array
$dir_depth = substr_count($dir , DIRECTORY_SEPARATOR);
//stuff that is written to the page separated by a #
echo $dir_depth." # ".$dir."<br>";
}
?>
把兩個值放入數組,「多維」你叫它,確實是最簡單的解決方案 - 那麼你只需要一個小小的自寫比較函數,你可以使用'usort',就完成了。 – CBroe
數組的管理可能會隨着您創建數組的方式而得到改進。你可以在你生成數組的地方顯示代碼嗎? – James
作爲多維數組的替代方案,具有兩個參數(計數和原始數組)的'array_multisort'自然也適用於此。這是一條線。 – Jon