php多维组数组(高达第三级)

8cdiaqws  于 2021-09-29  发布在  Java
关注(0)|答案(0)|浏览(377)

排列 subclmnsub 纵队 clmn 与另一个数组关联 subclmn 纵队 rdsubclmn 纵队 clmn 是clmn的吗 rd .
1.数组-clmn

  1. Array
  2. (
  3. [0] => Array
  4. (
  5. [sn] => 1
  6. [rd] => 2
  7. [cntnt] => Student
  8. )
  9. [1] => Array
  10. (
  11. [sn] => 2
  12. [rd] => 2
  13. [cntnt] => Teacher
  14. )
  15. [2] => Array
  16. (
  17. [sn] => 3
  18. [rd] => 3
  19. [cntnt] => Staff
  20. )

)
2.阵列-子LMN

  1. Array
  2. (
  3. [0] => Array
  4. (
  5. [sn] => 1
  6. [rd] => 1
  7. [clmn] => 1
  8. [cntnt] => Rabi
  9. )
  10. [1] => Array
  11. (
  12. [sn] => 2
  13. [rd] => 2
  14. [clmn] => 1
  15. [cntnt] => Kiran
  16. )
  17. [2] => Array
  18. (
  19. [sn] => 3
  20. [rd] => 3
  21. [clmn] => 1
  22. [cntnt] => Neharika
  23. )

)
3.阵列-子LMNSUB

  1. Array
  2. (
  3. [0] => Array
  4. (
  5. [sn] => 1
  6. [rd] => 1
  7. [clmn] => 1
  8. [cntnt] => 90%
  9. )
  10. [1] => Array
  11. (
  12. [sn] => 2
  13. [rd] => 2
  14. [clmn] => 1
  15. [cntnt] => 80%
  16. )
  17. [2] => Array
  18. (
  19. [sn] => 3
  20. [rd] => 3
  21. [clmn] => 2
  22. [cntnt] => 70%
  23. )
  24. [3] => Array
  25. (
  26. [sn] => 3
  27. [rd] => 3
  28. [clmn] => 2
  29. [cntnt] => 60%
  30. )

)
这里的需求是基于 clmn 每个数组的。 Clmn 是顶级数组, subclmn 是二级数组和 subclmnsub 是三级数组。
预期产量为

  1. Array
  2. (
  3. [0] => Array
  4. (
  5. [sn] => 1
  6. [rd] => 2
  7. [cntnt] => Student
  8. [subclmn] => Array
  9. (
  10. [0] => Array
  11. (
  12. [sn] => 1
  13. [rd] => 1
  14. [cntnt] => Rabi
  15. [subclmnsub] => Array
  16. (
  17. [0] => Array
  18. (
  19. [sn] => 1
  20. [rd] => 1
  21. [cntnt] => 90%
  22. )
  23. [1] => Array
  24. (
  25. [sn] => 2
  26. [rd] => 2
  27. [cntnt] => 80%
  28. )
  29. )
  30. )
  31. [1] => Array
  32. (
  33. [sn] => 2
  34. [rd] => 2
  35. [cntnt] => Kiran
  36. [subclmnsub] => Array
  37. (
  38. [0] => Array
  39. (
  40. [sn] => 3
  41. [rd] => 3
  42. [cntnt] => 70%
  43. )
  44. [1] => Array
  45. (
  46. [sn] => 4
  47. [rd] => 4
  48. [cntnt] => 60%
  49. )
  50. )
  51. )
  52. )
  53. )
  54. )

采用一级回路 clmn 阵列,内部 clmn 另一个循环用于 subclmn 最后一个循环是为 subclmnsub .

  1. foreach($clmn AS $z=>$arr){
  2. $clmn_subclmn[] = $arr;
  3. foreach($subclmn AS $y=>$subarr){
  4. if($arr['rd']==$subarr['clmn'] AND ($arr['typ']==2 OR $arr['typ']==3)){
  5. $clmn_subclmn[$z]['subclmn'][]=$subarr;
  6. foreach($subclmnsub AS $x=>$subarrsub){
  7. if($subarr['rd']==$subarrsub['clmn']){
  8. $clmn_subclmn[$z]['subclmn'][$y]['subclmnsub'][]=$subarrsub;
  9. }
  10. }
  11. }
  12. }
  13. }

但它只对第一个索引有效,而对其他索引则是一团糟。为什么kiran subclmnsub 是否未插入kiran数组中?
比起foreach循环,它更喜欢任何高效和快捷的方式。

  1. Array
  2. (
  3. [0] => Array
  4. (
  5. [sn] => 1
  6. [rd] => 2
  7. [cntnt] => Student
  8. [subclmn] => Array
  9. (
  10. [0] = Array
  11. (
  12. [sn] => 1
  13. [rd] => 1
  14. [cntnt] => Rabi
  15. [subclmnsub] => Array
  16. (
  17. [0] => Array
  18. (
  19. [sn] => 1
  20. [rd] => 1
  21. [cntnt] => 90%
  22. )
  23. [1] => Array
  24. (
  25. [sn] => 2
  26. [rd] => 2
  27. [cntnt] => 80%
  28. )
  29. )
  30. )
  31. [1] => Array
  32. (
  33. [sn] => 2
  34. [rd] => 2
  35. [cntnt] => Kiran
  36. )
  37. [3] => Array
  38. (
  39. [subclmnsub] => Array
  40. (
  41. [0] => Array
  42. (
  43. [sn] => 3
  44. [rd] => 3
  45. [cntnt] => 70%
  46. )
  47. [1] => Array
  48. (
  49. [sn] => 4
  50. [rd] => 4
  51. [cntnt] => 60%
  52. )
  53. )
  54. )
  55. )
  56. )

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题