php - 如何从循环 PHP 创建递归数组?
问题描述
我有一个像下面这样的数组及其动态数组。
$array = [10,20,30,40,50];
我想使用上述数组值递归地创建另一个数组。看起来像下面
Array
(
[10] => Array
(
[20] => Array
(
[30] => Array
(
[40] => Array
(
[50] => Array
(
[label] => LABEL
)
)
)
)
)
)
任何人都可以帮助/协助上述查询吗?
非常感谢您的帮助。
提前致谢。
解决方案
这只是一个循环,而不是递归。如果它是递归的,则需要 2 个函数或从其内部调用相同的函数。这看起来有点像,但它只是一个循环。
遍历每个数字并使用该数字作为键和累加数组作为值创建一个新数组。这样做意味着原始数组中的第一项将是完成数组中最深的项,因此array_reverse
需要按照您描述的方式获取它。
$array = [10,20,30,40,50];
$newarray=[];
foreach (array_reverse($array) as $number) $newarray = [$number => $newarray];
print_r($newarray);
推荐阅读
- r - 删除一系列时间戳,其中某个条件为 True
- ajax - Ajax:我需要将值从 php 脚本文件传递到 html 文件
- python - Python (Selenium) 从 HHPRED 中选择下拉列表
- javascript - Bootstrap 手风琴在 Angular 9 中不起作用
- eyeshot - 样本的 Eyeshot Document 文件夹
- javascript - 即使被注释掉,Rails 也会渲染部分内容
- javascript - javascript - 带有 setInterval 的函数不会在页面加载时立即启动
- css - 如何使用 CSS 旋转 div 以实现这种类型的 3D 效果?
- r - 使用 R 的地区/城市的特定国家地图
- r - dplyr 不使用 flexdashboard 模板