首页 > 解决方案 > 将数组的多个值输入多维数组

问题描述

我需要帮助制作一个循环以将数组内的所有值输入到多维数组中

第一个数组是这样的:

$draft = array(
           0 => array( 
               [draft] => "",
               [SKS] =>""
           ),
           N => array( 
               [draft] => "",
               [SKS] =>""
           )

第二个数组是这样的

$csp = array(
    0 => array(//monday
        0 => array(//session 1
             0 => array( //room 405
                    0 => "", //draft 
                    1 => ""  //sks
                ),
                .
                .
                3 => array( //room 408
                    0 => "", //draft 
                    1 => ""  //sks
                )
        )
        .
        5 = array(// session extra
           0 => array( //room 405
                    0 => "", //draft 
                    1 => ""  //sks
                ),
                .
                .
                3 => array( //room 408
                    0 => "", //draft 
                    1 => ""  //sks
                )
        )
    .
    .
    .

    5 => array(//friday
        0 => array(//session 1
             0 => array( //room 405
                    0 => "", //draft 
                    1 => ""  //sks
                ),
                .
                .
                3 => array( //room 408
                    0 => "", //draft 
                    1 => ""  //sks
                )
        )
        .
        5 = array(// session extra
           0 => array( //room 405
                    0 => "", //draft 
                    1 => ""  //sks
                ),
                .
                .
                3 => array( //oom 408
                    0 => "", //draft 
                    1 => ""  //sks
                )
        )

我需要用第二个数组的值填充 4 维数组,如果它到达 $draft 的最后一行,则从第一行重新开始

$csp[0][0][0][0] = $draft[0]['draft'];
$csp[0][0][0][1] = $draft[0]['sks'];
$csp[0][0][1][0] = $draft[1]['draft'];
$csp[0][0][1][1] = $draft[1]['sks'];
$csp[0][0][2][0] = $draft[2]['draft'];
$csp[0][0][2][1] = $draft[2]['sks'];
.
.
$csp[N][N][N][0] = $draft[N]['draft'];
$csp[N][N][N][1] = $draft[N]['sks'];

我已经尝试过使用这样的循环

    for ($i=0; $i <5 ; $i++) { //hari
    for ($j=0; $j <6 ; $j++) { //sesi
        for ($k=0; $k <4 ; $k++) { //ruang
            for ($l=0; $l <2 ; $l++) { //draft&sks
                for ($m=0; $m <count($draft) ; $m++) { 
                    $csp[$i][$j][$k][$l] = $draft[$m]['draft'];
                    if($l==2){
                    $csp[$i][$j][$k][$l] =$draft[$m]['SKS']; 
                    }
                }                                                        
            }
        }
    }
}

但只有第一个 id 和 SKS 填充到 $csp

我怎样才能实现我需要的循环?

标签: phparrays

解决方案


推荐阅读