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