【发布时间】:2021-01-27 05:34:53
【问题描述】:
我在 PHP 中有一个这样的简单数组:
Array
(
[max_size_video] => 50000
[max_size_photo] => 8000
[token_expire] => 100
[dns] => mydns.fr
...
)
我想将此数组转换为多维宽度下划线作为分隔符:
Array
(
[max] => Array
(
[size] => Array
(
[video] => 50000
[photo] => 8000
)
)
[token] => Array
(
[expire] => 100
)
[dns] => mydns.fr
...
)
我可以用以下丑陋的代码做到这一点:
$item = explode('_', $row);
switch (count($item)) {
case 1:
$array[$item[0]] = $value;
break;
case 2:
$array[$item[0]][$item[1]] = $value;
break;
case 3:
$array[$item[0]][$item[1]][$item[2]] = $value;
break;
case 3:
$array[$item[0]][$item[1]][$item[2]][$item[3]] = $value;
break;
...
}
如何使用漂亮的功能做到这一点? 谢谢回复
【问题讨论】:
-
使用循环或递归。
-
欢迎来到 Stack Overflow。该站点旨在解决特定的编程问题,需要改进的工作解决方案更适合Code Review。