如何解决php组数组多维最高第三级
数组subclmnsub
列clmn
与另一个数组subclmn
列rd
相关联subclmn
列clmn
是clmn的rd
.
1.阵列-C
Array
(
[0] => Array
(
[sn] => 1
[rd] => 2
[cntnt] => Student
)
[1] => Array
(
[sn] => 2
[rd] => 2
[cntnt] => Teacher
)
[2] => Array
(
[sn] => 3
[rd] => 3
[cntnt] => Staff
)
)
2.数组 -subclmn
Array
(
[0] => Array
(
[sn] => 1
[rd] => 1
[clmn] => 1
[cntnt] => Rabi
)
[1] => Array
(
[sn] => 2
[rd] => 2
[clmn] => 1
[cntnt] => Kiran
)
[2] => Array
(
[sn] => 3
[rd] => 3
[clmn] => 1
[cntnt] => Neharika
)
)
3.数组 -subclmnsub
Array
(
[0] => Array
(
[sn] => 1
[rd] => 1
[clmn] => 1
[cntnt] => 90%
)
[1] => Array
(
[sn] => 2
[rd] => 2
[clmn] => 1
[cntnt] => 80%
)
[2] => Array
(
[sn] => 3
[rd] => 3
[clmn] => 2
[cntnt] => 70%
)
[3] => Array
(
[sn] => 3
[rd] => 3
[clmn] => 2
[cntnt] => 60%
)
)
这里要求根据每个数组的clmn
将数组分成三层。 Clmn
为顶级数组,subclmn
为二级数组,subclmnsub
为三级数组。
预期输出是
Array
(
[0] => Array
(
[sn] => 1
[rd] => 2
[cntnt] => Student
[subclmn] => Array
(
[0] => Array
(
[sn] => 1
[rd] => 1
[cntnt] => Rabi
[subclmnsub] => Array
(
[0] => Array
(
[sn] => 1
[rd] => 1
[cntnt] => 90%
)
[1] => Array
(
[sn] => 2
[rd] => 2
[cntnt] => 80%
)
)
)
[1] => Array
(
[sn] => 2
[rd] => 2
[cntnt] => Kiran
[subclmnsub] => Array
(
[0] => Array
(
[sn] => 3
[rd] => 3
[cntnt] => 70%
)
[1] => Array
(
[sn] => 4
[rd] => 4
[cntnt] => 60%
)
)
)
)
)
)
第一级循环使用 clmn
数组,在 clmn
中,另一个循环用于 subclmn
,最后一个循环用于 subclmnsub
。
foreach($clmn AS $z=>$arr){
$clmn_subclmn[] = $arr;
foreach($subclmn AS $y=>$subarr){
if($arr['rd']==$subarr['clmn'] AND ($arr['typ']==2 OR $arr['typ']==3)){
$clmn_subclmn[$z]['subclmn'][]=$subarr;
foreach($subclmnsub AS $x=>$subarrsub){
if($subarr['rd']==$subarrsub['clmn']){
$clmn_subclmn[$z]['subclmn'][$y]['subclmnsub'][]=$subarrsub;
}
}
}
}
}
但它只适用于第一个索引,而对于其他索引,它就搞砸了。为什么 kiran 的 subclmnsub
没有插入到 kiran 数组中?
与 foreach 循环相比,它更喜欢任何高效且快捷的方式。
Array
(
[0] => Array
(
[sn] => 1
[rd] => 2
[cntnt] => Student
[subclmn] => Array
(
[0] = Array
(
[sn] => 1
[rd] => 1
[cntnt] => Rabi
[subclmnsub] => Array
(
[0] => Array
(
[sn] => 1
[rd] => 1
[cntnt] => 90%
)
[1] => Array
(
[sn] => 2
[rd] => 2
[cntnt] => 80%
)
)
)
[1] => Array
(
[sn] => 2
[rd] => 2
[cntnt] => Kiran
)
[3] => Array
(
[subclmnsub] => Array
(
[0] => Array
(
[sn] => 3
[rd] => 3
[cntnt] => 70%
)
[1] => Array
(
[sn] => 4
[rd] => 4
[cntnt] => 60%
)
)
)
)
)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。