Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    funzione con return, che non return nulla...

    Ciao, ho una funzione che mi da delle noie.

    Codice PHP:
    function recursive($n,$i)
    {
       if(
    $n $i)
       {
          
    recursive($n,$i+1)
       } else {
          echo 
    $i # questo stampa il valore corretto, ma nel return passa NULL
          
    return $i;
       }
    }

    $res recursive(10,2); # questo è null

    $res recursive(2,2# questo invece come mi aspetto 
    Da cosa può dipendere?
    In pratica se fa più di un passaggio il return è NULL



    Ciao!

  2. #2

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Niente...

    Codice PHP:
    function setNumber($items,&$n)
    {
        
        global 
    $cfg;
        
        
    $i $items $n;
        
        if(
    $i <= $cfg['default'] )
        {
            echo 
    $n# ok
            
    return $n# ko
            
        
    } else {
            
    $n++;
            
    setNumber($items,$n);
        }

    }

    $numero setNumero(10,2); # questo è null 
    Ciao!

  4. #4
    Ho risolto tamponando cosi, ma perchè non va il primo metodo?
    Codice PHP:
    function setNumber($items,$n

         
        global 
    $cfg;
        global 
    $return;
         
        
    $i $items $n
         
        if(
    $i <= $cfg['default'] ) 
        { 
            
    $return =  $n# ok 
        
    } else { 
            
    $n++; 
            
    setNumber($items,$n); 
        } 



    setNumero(10,2); # questo è null

    var_dump($return); # questo è ok 
    Ciao!

  5. #5
    Non ho esattamente capito cosa deve fare la funzione, ma forse cosi' fa quello che ti aspetti?

    codice:
    function recursive($n,$i)
    {
       if($n > $i)
       {
          return recursive($n,$i+1);
       } else {
          echo $i; # questo stampa il valore corretto, ma nel return passa NULL
          return $i;
       }
    }
    
    $res = recursive(10,2); # questo è null
    
    $res = recursive(2,2); # questo invece come mi aspetto

  6. #6
    Originariamente inviato da k.b
    Non ho esattamente capito cosa deve fare la funzione, ma forse cosi' fa quello che ti aspetti?

    codice:
    function recursive($n,$i)
    {
       if($n > $i)
       {
          return recursive($n,$i+1);
       } else {
          echo $i; # questo stampa il valore corretto, ma nel return passa NULL
          return $i;
       }
    }
    
    $res = recursive(10,2); # questo è null
    
    $res = recursive(2,2); # questo invece come mi aspetto


    Sono un testone... mi sfuggiva il return... (è il 4 muro oggi...)
    Ciao!

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.