fork download
  1. <?php
  2.  
  3. $arr = Array(
  4. 0 => Array(
  5. 'QID' => 'Q1234',
  6. 'MgrQID' => 'Array()',
  7. 'NTID' => 'xxxxx',
  8. 'MgrNTID' => 'xxxx',
  9. 'title' => 'xxxx',
  10. 'MgrName' => 'xxxx',
  11. 'name' => 'Bob Jones',
  12. 'class' => 'level1',
  13. 'CountOfDirects' => '9',
  14. 'children' => Array(
  15. 0 => Array(
  16. 'QID' => 'Q56789',
  17. 'MgrQID' => '1234',
  18. 'NTID' => 'xxxx',
  19. 'MgrNTID' => 'xxxx',
  20. 'title' => 'xxxx',
  21. 'MgrName' => 'xxxx',
  22. 'name' => 'Tim Cook',
  23. 'class' => 'level2',
  24. 'CountOfDirects' => '0',
  25. 'children' => Array()
  26. ),
  27. 1 => Array(
  28. 'QID' => 'Q5678',
  29. 'MgrQID' => 'Q1234',
  30. 'NTID' => 'xxxxx',
  31. 'MgrNTID' => 'xxxx',
  32. 'title' => 'xxxx',
  33. 'MgrName' => 'xxxx',
  34. 'name' => 'Bob Tom',
  35. 'class' => 'level2',
  36. 'CountOfDirects' => '0',
  37. 'children' => Array()
  38. ),
  39. 2 => Array(
  40. 'QID' => 'Q9999',
  41. 'MgrQID' => 'Q1234',
  42. 'NTID' => 'xxxx',
  43. 'MgrNTID' => 'xxxx',
  44. 'title' => 'xxxx',
  45. 'MgrName' => 'xxxx',
  46. 'name' => 'xxxx',
  47. 'class' => 'level2',
  48. 'CountOfDirects' => '0',
  49. 'children' => Array()
  50. ),
  51. 3 => Array(
  52. 'QID' => 'Q6665',
  53. 'MgrQID' => 'Q1234',
  54. 'NTID' => 'xxxx',
  55. 'MgrNTID' => 'xxxx',
  56. 'title' => 'xxxx',
  57. 'MgrName' => 'xxxx',
  58. 'name' => 'xxxx',
  59. 'class' => 'level2',
  60. 'CountOfDirects' => '6',
  61. 'children' => Array(
  62. 0 => Array(
  63. 'QID' => 'Q4322',
  64. 'MgrQID' => 'Q6665',
  65. 'NTID' => 'xxxx',
  66. 'MgrNTID' => 'xxxx',
  67. 'title' => 'xxxx',
  68. 'MgrName' => 'xxxx',
  69. 'name' => 'xxxx',
  70. 'class' => 'level3',
  71. 'CountOfDirects' => '0',
  72. 'children' => Array()
  73. ),
  74. 1 => Array(
  75. 'QID' => 'Q3333',
  76. 'MgrQID' => 'Q6665',
  77. 'NTID' => 'xxxx',
  78. 'MgrNTID' => 'xxxx',
  79. 'title' => 'xxxx',
  80. 'MgrName' => 'xxxx',
  81. 'name' => 'xxxx',
  82. 'class' => 'level3',
  83. 'CountOfDirects' => '0',
  84. 'children' => Array()
  85. ),
  86. ),
  87. ),
  88. ),
  89. ),
  90. );
  91.  
  92. function setLevel(&$arr, $level)
  93. {
  94. foreach ($arr as &$element) {
  95. $element['class'] = 'level-' . $level;
  96. setLevel($element['children'], $level + 1);
  97. }
  98. }
  99.  
  100. setLevel($arr, 1);
  101.  
  102. print_r($arr);
  103.  
Success #stdin #stdout 0.01s 82880KB
stdin
Standard input is empty
stdout
Array
(
    [0] => Array
        (
            [QID] => Q1234
            [MgrQID] => Array()
            [NTID] => xxxxx
            [MgrNTID] => xxxx
            [title] => xxxx
            [MgrName] => xxxx
            [name] => Bob Jones
            [class] => level-1
            [CountOfDirects] => 9
            [children] => Array
                (
                    [0] => Array
                        (
                            [QID] => Q56789
                            [MgrQID] => 1234
                            [NTID] => xxxx
                            [MgrNTID] => xxxx
                            [title] => xxxx
                            [MgrName] => xxxx
                            [name] => Tim Cook
                            [class] => level-2
                            [CountOfDirects] => 0
                            [children] => Array
                                (
                                )

                        )

                    [1] => Array
                        (
                            [QID] => Q5678
                            [MgrQID] => Q1234
                            [NTID] => xxxxx
                            [MgrNTID] => xxxx
                            [title] => xxxx
                            [MgrName] => xxxx
                            [name] => Bob Tom
                            [class] => level-2
                            [CountOfDirects] => 0
                            [children] => Array
                                (
                                )

                        )

                    [2] => Array
                        (
                            [QID] => Q9999
                            [MgrQID] => Q1234
                            [NTID] => xxxx
                            [MgrNTID] => xxxx
                            [title] => xxxx
                            [MgrName] => xxxx
                            [name] => xxxx
                            [class] => level-2
                            [CountOfDirects] => 0
                            [children] => Array
                                (
                                )

                        )

                    [3] => Array
                        (
                            [QID] => Q6665
                            [MgrQID] => Q1234
                            [NTID] => xxxx
                            [MgrNTID] => xxxx
                            [title] => xxxx
                            [MgrName] => xxxx
                            [name] => xxxx
                            [class] => level-2
                            [CountOfDirects] => 6
                            [children] => Array
                                (
                                    [0] => Array
                                        (
                                            [QID] => Q4322
                                            [MgrQID] => Q6665
                                            [NTID] => xxxx
                                            [MgrNTID] => xxxx
                                            [title] => xxxx
                                            [MgrName] => xxxx
                                            [name] => xxxx
                                            [class] => level-3
                                            [CountOfDirects] => 0
                                            [children] => Array
                                                (
                                                )

                                        )

                                    [1] => Array
                                        (
                                            [QID] => Q3333
                                            [MgrQID] => Q6665
                                            [NTID] => xxxx
                                            [MgrNTID] => xxxx
                                            [title] => xxxx
                                            [MgrName] => xxxx
                                            [name] => xxxx
                                            [class] => level-3
                                            [CountOfDirects] => 0
                                            [children] => Array
                                                (
                                                )

                                        )

                                )

                        )

                )

        )

)