Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Metodo ricorsivo

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2015
    Messaggi
    10

    Metodo ricorsivo

    Ciao a tutti ho un problema che non riesco a risolvere.
    Ho un struttura dati ad albero, e una funzione che mi restituisce i figli di un determinato nodo.

    Vorrei fare una funzione ricorsiva la quale preso in input un'array e un nodo mi restituisce l'array riempito di tutti i suoi figli e figli dei figli.

    Codice PHP:
    public static function recurse($nodo$array){
        
    $a CategoryCore::getChildren($nodo);  //restituisce un array multidimensionale con (anche) i figli del nodo

        
    if(empty($a))   //Se non ha più figli
            
    return;

        foreach (
    $a as $key => $value) {
            
    $array[] = $value['nodo'];
            
    methods::recurse($value['nodo']);
        }

        return 
    $array;

    Il problema sostanzialmente è che questa funzione non mi restituisce tutti i figli ma solamnete i figli del nodo passatogli.

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Dovresti aggiungere un controllo per capire se il VALUE del caso e' un valore o ancora Array. Se array richiami la funzione altrimenti setti il valore. Dovrebbe ciclare tutto fino alla fine.

  3. #3
    Devi passare anche l'array al metodo altrimenti ne viene creato sempre un nuovo oppure recuperare l'array restituito (cosa che non fai) e copiarne il contenuto in quello locale.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.