PHP平面数组嵌套[" A"," B"," C"]到[" A" = GT;" B" = GT;" C"]]] [英] PHP flat array to nested ["a", "b", "c"] to ["a" =>["b"=>["c"]]]

查看:140
本文介绍了PHP平面数组嵌套[" A"," B"," C"]到[" A" = GT;" B" = GT;" C"]]]的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

与示例中的标题所说,我需要一个平面阵列由每个以下主要作为previous价值被嵌套。

例如:

 阵列(I,需要,本,来,是,嵌套);
// 至:
阵列(I=>阵列(需要=>阵列(本=>阵列(到=>阵列(是=>阵列(嵌套))))) )


解决方案

下面是一个只改变了原来的阵列,而不是使用创建一个新的变量 array_walk 的:

  $ a = [我,需要,本,来,是,嵌套];
array_walk(array_reverse($ A),功能($ V,$ k)利用(安培; $ A){
    $ a = $ K· [$ V =>美元]:[$ V]
});

如果 $ A 是空的,这应该只是把它作为空。但是,它假定您的输入阵列键从0开始。

As the title with the example says, I need a flat array to be nested by each following key being the previous value.

Example:

array("I", "need", "this", "to", "be", "nested");
// To:
array("I" => array("need" => array("this" => array("to" => array("be" => array("nested"))))))

解决方案

Here's one that just alters the original array instead of creating a new variable using array_walk:

$a = ["I", "need", "this", "to", "be", "nested"];
array_walk(array_reverse($a), function ($v, $k) use (&$a) {
    $a = $k ? [$v => $a] : [$v];
});

If $a is empty, this should just leave it as empty. However, it does assume that your input array has keys starting from 0.

这篇关于PHP平面数组嵌套[" A"," B"," C"]到[" A" = GT;" B" = GT;" C"]]]的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆