Ciao a tutti,
ho un problema da cui non riesco proprio ad uscire. da venerdì.
Ho una struttura dati così:

Codice PHP:
---------------------------------
ID    ID_PARENT  NAME           
---------------------------------
1     0          Cat 1           
---------------------------------
2     0          Cat 2           
---------------------------------
3     1          Cat 1.1        
---------------------------------
4     2          Cat 2.1        
---------------------------------
5     1          Cat 1.2     
---------------------------------
6     3          Cat 1.1.1  
---------------------------------
7     1          Cat 1.3     
---------------------------------
8     6          Cat 1.1.1.1  
---------------------------------
9     8          Cat 1.1.1.1.1  
--------------------------------- 
Ho costruito una funzione ricorsiva che dovrebbe prendere questa struttura multialbero e mostrarmela in un array multidimensionale.

La prima volta chiamo questa funzione da un'altra passandogli come $dataLevel il seguente array:

Array (
[1] => array(),
[2] => array()
)


Codice PHP:
public function getLevel($dataLevel$level) {
       if (
count($dataLevel) > 0) {
            foreach(
$dataLevel as $key => $value) {
                
                
$childrensDB $this->getChildrens($key$level);
                if (
count($childrensDB) > 0) {
                    for (
$i=0$i<count($childrensDB); $i++) {                    
                                                
                        
$dataLevel[$key][$childrensDB[$i]['ID']] = array();                        
                    }
                }
                
                echo 
"<p style=\"text-indent : ".($level 10)."px\">".$key."</p>";
                
                
$this->getLevel($dataLevel[$key], $level 1);
                
            }
        }
        
        return 
$dataLevel;
    } 
L'output dell'echo è corretto ed è il seguente:

Codice PHP:
1
  3
    6
      8
        9
  5
  7
2
  4 

L'output del return della funzione invece non è corretto ed è così:
Codice PHP:
Array (
  [
1] => Array (
    [
3] => Array ( )
    [
5] => Array ( )
    [
7] => Array ( )
  ) 
  [
2] => Array (
    [
4] => Array ( )
  )

Perchè mi arriva solo fino al primo livello e non va più in profondità??
Dove sbaglio??

Grazie a tutti