【发布时间】:2017-02-14 12:25:04
【问题描述】:
我想从下面的 PHP 中生成一个多维数组 -
- Item 1
-- Item 1.1
-- Item 1.2
--- Item 1.2.1
--- Item 1.2.2
---- Item 1.2.2.1
- Item 2
- Item 3
- Item 4
-- Item 4.1
-- Item 4.2
我的最终目标是将此字符串转换为无序列表。
我想最好的方法是创建一个递归函数。在美好的一天,我确信我可以解决这个问题,但我脑子里有点空白!
数组结构应该类似于下面的转储 -
array(6) {
[0]=>
string(6) "Item 1"
[1]=>
array(3) {
[0]=>
string(8) "Item 1.1"
[1]=>
string(8) "Item 1.2"
[2]=>
array(3) {
[0]=>
string(10) "Item 1.2.1"
[1]=>
string(10) "Item 1.2.2"
[2]=>
array(1) {
[0]=>
string(12) "Item 1.2.2.1"
}
}
}
[2]=>
string(6) "Item 2"
[3]=>
string(6) "Item 3"
[4]=>
string(6) "Item 4"
[5]=>
array(2) {
[0]=>
string(8) "Item 4.1"
[1]=>
string(8) "Item 4.2"
}
}
希望你能帮忙。
【问题讨论】:
-
google.com/… // 大部分结果似乎是针对 PHP 的,但是由于您甚至没有提及或标记特定语言,所以我猜那必须这样做。
-
@CBroe 感谢您提供 Google 链接。它是 PHP - 抱歉我忘了包含它,所以现在添加它。这比你的标准字符串递归复杂一点
-
从上面的cmets,你能提示一下数组应该是什么样子吗?
-
如果文本总是格式正确,则不需要递归。只需计算每行上的破折号,并使用它来确定何时输出
- 和
-
@NirjharLo 我已经更新了我的问题以包含预期的输出。