Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768

    classe con funzione ricorsiva

    ciao,
    mi dite dov'è l'errore in questa dichiarazione di funzione ricorsiva?
    Codice PHP:
    class Cgiornate {

        function 
    Cgiornate($number,$max_gio){
               .....
               
    $MIA_VAR $this->correggi($mio_dato);
        }

        

        function 
    correggi($giornata){ 

                    
    $scontri explode(',',$giornata);
                    
    $testGIO $scontri[0];
                    
                     ....

                     if(
    $ok){
                          return 
    $testGIO;
                     }else{
                         
    $errato $testGIO;
                         unset(
    $testGIO);
                         return 
    $this->correggi($errato);
                     }

        }



    se non inserisco la ricorsione della funzione lo script funziona alla grande, invece così ottengo un loop infinito e ottengo Notice: undefined testGIO

    cosa sbaglio? :master:
    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  2. #2
    Se ottieni un Notice: undefined testGIO significa che $scontri[0] è vuoto. Fai un echo di $giornata nella funzione correggi

  3. #3
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    grazie per la risposta

    il problema non è quello,

    infatti se faccio un echo $errato prima di:

    return $this->correggi($errato);

    ottengo il risultato che mi aspetto.

    Quindi, quando la funzione richiama se stessa, si passa correttamente il valore.

    Secondo me l'errore è nella chiamata ricorsiva che, probabilmente, non si fa in questo modo...


    :master:
    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  4. #4
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    anzi no,

    va in loop perchè si perde testGIO come dicevi tu.
    A questo punto l'errore è all'interno della funzione.

    Grazie per l'aiuto
    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  5. #5
    Ma cosa gli assegni a $ok? Probabilmente non va mai a true

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.