javascript - 怎样把一个数组放入另一个数组的子数组里面?就像省市级那样?

查看:111
本文介绍了javascript - 怎样把一个数组放入另一个数组的子数组里面?就像省市级那样?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题


第一张图楼层数组,1是1楼,2是2楼,第二张是房间号数组,101,102对应第一个数组的一楼,201,202对应2楼
我想把房间号对应到第一个数组的楼层,1后面显示子类房间号101,102,2显示201,202,以此类推,怎么实现呢?求教大神

解决方案

$floor_list=array(
        array('floor_num'=>'1'),
        array('floor_num'=>'2'),
        array('floor_num'=>'3'),
        array('floor_num'=>'4')
    );

$room_list=array('101','102','103','104','201','202','203','204','301','302','303','304','401','402','403','404');

$room_datas=array();
foreach ($room_list as $k => $v) {
    $floor_num=substr($v, 0,1);
    $room_datas[$floor_num][]=$v;
}

foreach ($floor_list as $k => $v) {
    $floor_num=$v['floor_num'];
    $floor_list[$k]['rooms']=isset($room_datas[$floor_num])?$room_datas[$floor_num]:array();
}

print_r($floor_list);

/*
Array
(
    [0] => Array
        (
            [floor_num] => 1
            [rooms] => Array
                (
                    [0] => 101
                    [1] => 102
                    [2] => 103
                    [3] => 104
                )

        )

    [1] => Array
        (
            [floor_num] => 2
            [rooms] => Array
                (
                    [0] => 201
                    [1] => 202
                    [2] => 203
                    [3] => 204
                )

        )

    [2] => Array
        (
            [floor_num] => 3
            [rooms] => Array
                (
                    [0] => 301
                    [1] => 302
                    [2] => 303
                    [3] => 304
                )

        )

    [3] => Array
        (
            [floor_num] => 4
            [rooms] => Array
                (
                    [0] => 401
                    [1] => 402
                    [2] => 403
                    [3] => 404
                )

        )

)
 */

这篇关于javascript - 怎样把一个数组放入另一个数组的子数组里面?就像省市级那样?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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