首页 > 解决方案 > 如何从循环 PHP 创建递归数组?

问题描述

我有一个像下面这样的数组及其动态数组。

$array = [10,20,30,40,50];

我想使用上述数组值递归地创建另一个数组。看起来像下面

Array
(
    [10] => Array
        (
            [20] => Array
                (
                    [30] => Array
                        (
                            [40] => Array
                                (
                                    [50] => Array
                                        (
                                            [label] => LABEL
                                        )

                                )

                        )

                )

        )

)

任何人都可以帮助/协助上述查询吗?

非常感谢您的帮助。

提前致谢。

标签: phpphp-7php-5.3

解决方案


这只是一个循环,而不是递归。如果它是递归的,则需要 2 个函数或从其内部调用相同的函数。这看起来有点像,但它只是一个循环。

遍历每个数字并使用该数字作为键和累加数组作为值创建一个新数组。这样做意味着原始数组中的第一项将是完成数组中最深的项,因此array_reverse需要按照您描述的方式获取它。

$array = [10,20,30,40,50];
$newarray=[];
foreach (array_reverse($array) as $number) $newarray = [$number => $newarray];
print_r($newarray);

https://www.tehplayground.com/bya12n5tV0jjcAvA


推荐阅读