Php 格式化多维数组

Php 格式化多维数组,php,arrays,cakephp,Php,Arrays,Cakephp,我正在用CakePHP做一个项目,我需要一个多维数组来转换JSON和JSON编码。我的问题是结果不是从零开始的 Array ( [1] => Array ( [0] => Array ( [nombre] => Steve Jobs [rol] => 6 ) [1] => Array (

我正在用CakePHP做一个项目,我需要一个多维数组来转换JSON和JSON编码。我的问题是结果不是从零开始的

Array
(
[1] => Array
    (
        [0] => Array
            (
                [nombre] => Steve Jobs
                [rol] => 6
            )

        [1] => Array
            (
                [nombre] => Bill Gates
                [rol] => 8
            )

    )

[3] => Array
    (
        [2] => Array
            (
                [nombre] => Bill Gates
                [rol] => 6
            )

    )

[4] => Array
    (
        [3] => Array
            (
                [nombre] => Bill Gates
                [rol] => 6
            )

    )

)
我生成该数组的代码是:

foreach ($docentes_secciones as $i => $itm):
    $j = $itm->seccion_id;
    $docentesSecciones[$j][$i]['nombre'] = $nombrePersona[$itm->perfil_id];
    $docentesSecciones[$j][$i]['rol'] = $itm->rol_id;

endforeach;
我希望我的数组采用这种格式

Array
(
[1] => Array
    (
        [0] => Array
            (
                [nombre] => Steve Jobs
                [rol] => 6
            )

        [1] => Array
            (
                [nombre] => Bill Gates
                [rol] => 8
            )

    )

[3] => Array
    (
        [0] => Array
            (
                [nombre] => Bill Gates
                [rol] => 6
            )

    )

)
如何获取最后一种格式的数组

编辑:


这对我来说是可行的,但我想让它更有效率。

问题是:它不是从零开始的,因为在foreach中,您将$j的值与表id的值一起设置,不是吗? 我不认为你的表ID是从零开始的,对吗? 您可以尝试使用两个for循环而不是foreach。也许是这样的:

for ($i = 0; $i < count($docentes_secciones); $i++){
     for ($j = 0; $j < count($docuentes_secciones[$i]); $j++){
         $docentesSecciones[$i][$j]['nombre'] = $nombrePersona[$i]['perfil_id'];
         $docentesSecciones[$i][$j]['rol'] = [$i]['rol_id'];
     }
}

$j=$itm->seccion\u id$DOCENTESCCIONES[$j]-您显式地将其设置为某个值。@zerkms我尝试过但不起作用:$docentes_secciones和$NOMBREPERSONE的输出是什么样子的?不起作用:/I使$I_aux=1$j=0;每个$docentes\u secciones作为$itm:$i=$itm->seccion\u id;如果$i_aux!=$i$j=0$docentesSecciones[$i][$j]['nombre']=$nombrePersona[$itm->perfil_id]$DOCENTESCECIONES[$i][$j]['rol']=$itm->rol\U id;如果$i_aux==$i$j++$i_aux=$i;endforeach;
for ($i = 0; $i < count($docentes_secciones); $i++){
     for ($j = 0; $j < count($docuentes_secciones[$i]); $j++){
         $docentesSecciones[$i][$j]['nombre'] = $nombrePersona[$i]['perfil_id'];
         $docentesSecciones[$i][$j]['rol'] = [$i]['rol_id'];
     }
}