php - 怎么由一维数组生成多维数组

查看:133
本文介绍了php - 怎么由一维数组生成多维数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

一直不太明白,怎么能快捷的由一维数组生成多维数组:
我有一个字段是字符串,值可能是1或1-2或1-2-3-4-5...

例如如果是1-2-3-4,怎么能生成为多维数组:

Array
(
    [1] => Array
        (
            [2] => Array
                (
                    [3] => Array
                        (
                            [4] => Array
                                (
                                )

                        )

                )

        )

)

多谢

解决方案

// from https://segmentfault.com/q/1010000004647414
$str = '1-2-3-4';
$arr = explode('-', $str);
$last = null;
while($last = array_pop($arr)) {
    if(null != $last) {
       array_push($arr,[array_pop($arr)=>$last]);
    }
    if(count($arr) <= 1) {
        break;
    }
 }
 print_r($arr[0]);
/*Array
(
    [] => Array
        (
            [1] => Array
                (
                    [2] => Array
                        (
                            [3] => 4
                        )

                )

        )

)*/

这篇关于php - 怎么由一维数组生成多维数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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