php - PHP对无穷数组进行排序并保留索引字符串
问题描述
我想对多维数组(我不知道长度)进行排序并保留索引字符串。这个多维数组的数据来自一个可以有无限文件夹和文件的目录。
我已经成功地将文件夹结构抓取到一个数组中,使用这个List the all files and folder in a Directory with PHP recursive function,我可以使用这样的递归函数对数组进行排序https://stackoverflow.com/a/4501406/3355243 .
问题
排序时,所有数组索引都替换为数字。我想将数组索引保留为字符串,因为它包含文件夹名称。
输入
Folder A => Array
(
file.php,
file1.php,
Folder B => Array
(
file.php,
file1.php,
Folder A => Array
(
file.php,
file1.php,
)
something.php
),
something.php
),
Folder B => Array
(
other.php,
other2.php
),
Folder C => Array
(
Folder A => Array
(
a.php,
b.php
),
something.php
)
预期产出
Folder A => Array
(
file.php,
file1.php,
something.php,
Folder B => Array
(
file.php,
file1.php,
something.php,
Folder A => Array
(
file.php,
file1.php,
)
),
),
Folder B => Array
(
other.php,
other2.php
),
Folder C => Array
(
something.php
Folder A => Array
(
a.php,
b.php
),
)
电流输出
0 => Array
(
file.php,
file1.php,
something.php,
0 => Array
(
file.php,
file1.php,
something.php,
0 => Array
(
file.php,
file1.php,
)
),
),
1 => Array
(
other.php,
other2.php
),
2 => Array
(
something.php
0 => Array
(
a.php,
b.php
),
)
最终目标
将数组/文件夹结构显示到带有组和选项的选择框中。
解决方案
解决了。
链接Order multidimensional array recursively at each level in PHP的解决方案用于ksort
对数组和解决方案进行排序,在我的情况下,我不得不使用asort
.
https://www.php.net/manual/en/function.asort.php
asort — 对数组进行排序并保持索引关联
推荐阅读
- spring-boot - spring boot 自定义错误页面在服务器上部署时不呈现
- java - 无法使用 Spring 的 @Value、@ConfigurationProperties 注释从属性文件中检索值
- c++ - Cmake,Qt:动态更改 x86/x64 版本的 Bin 和插件的路径
- presto - 在 PrestoSQL 中将行组合成一个列表
- bash - 如何使用 Bash 查找、按大小排序和导出
- android - 禁用选项卡式页面的滑动时如何在选项卡内启用滑动
- xamarin.android - 有没有办法绑定 2 个具有相同命名空间、相同函数名但功能不同的 java 库
- visual-studio - 在 Visual Studio 中向 WCF 服务添加服务引用失败
- memory - 内存分配太慢
- python - 如何删除模型中的默认值并添加 alembic 版本?