我需要阵列(在它们出现的阵列内的顺序在符号列表中所示的内容)分类到左边数字的顺序(从最高到最低)。
这些数字对应于右侧目录路径中的分割数(它们不存储在当前数组中)。
我的问题出现了,因为我不知道如何使用示例中给出的值对数组进行排序 - 因为它们在数组之外。我尝试过使用多维数组,但是这只会导致更多的混淆!
由于代码在屏幕上输出列举如下:
- 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