Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    recupero variabile da funzione

    salve a tutti
    come posso fare per recuperare una variabile assegnata in una funzione ?
    si! si! mi sembra che sto programmando !

  2. #2
    dichiari una variabile vuota prima della funzione con lo stesso nome della variabile che vuoi estrarre, nella funzione la variabile vuota viene aggiornata con il nuovo valore.

  3. #3
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    devi ritornarla dalla funzione usando l'istruzione return.


    codice:
    funzione somma($a, $b) {
    
      $c =  $a+$b;
    
      return $c;
    
    }
    
    $risultato = somma(1,2);
    
    echo $risultato; //  3;

    Ciao

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Non si può sapere il contenuto delle variabili assegnate in una funzione poichè vengono TUTTE distrutte al termine della funzione stessa. L'unica cosa che puoi ottenere è il valore di return
    Quindi devi modificare la funzione in modo che restituisca quella variabile
    Se vuoi che ne restituisca più d'una hai 3 possibilità
    1) Passaggio parametro per riferimento
    2) Restituzione di un array come risposta
    3) Modificare variabili globali (evita)

    1) Passaggio parametro per riferimento
    Codice PHP:
    <?php
    function prova(&$x)
    {
      
    $x "un valore"// modifico $x nella funzione
      
    $y "fatto";
      return 
    $y;
    }
    $x "";
    $y =& prova($x);
    echo 
    $x
    ?>
    Il risultato sarà
    "un valore"

    2) Restituzione di un array
    Codice PHP:
    <?php
    function prova()
    {
      
    $x "un valore"// modifico $x nella funzione
      
    $y "un altro valore";
      return array(
    "x"=>$x,"y"=>$y);
    }
    $valori prova();
    echo 
    $valori["x"]."
    "

    echo 
    $valori["y"];
    ?>
    Risultato
    "un valore"
    "un altro valore"

  5. #5
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    visto che sei stato cosi preciso nella spiegazione faccio un aggiunta nel caso di restituzione di un array, puoi usare list per ottenere direttamente i valori che ti interessano, ti faccio un esempio:

    codice:
    function data_in_pezzi($data) {
      $data_in_pezzi = explode("-",$data);
    }
    
    $data = "22-02-2007";
    
    list($giorno, $mese, $anno) = data_in_pezzi($data);
    ciao

  6. #6
    nella funzione ho un if ed un else ,
    l'else crea un messaggio di errore e lo voglio sommare in un qualcosa che tenga conto di tutti gli altri errori
    avevo provato usando una sessione per recuperare il valore ma il sistema risultava complesso e difficile da gestire
    la mia idea era quella di usare comunque qualcosa di simile
    grazie
    si! si! mi sembra che sto programmando !

  7. #7
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    intendi qualcosa del genere?

    codice:
    function controllaCampo($valore) {
      if($valore == {quellochevoglio}) {
        return true;
      } else {
    
        return "Codice Errore 120";
    
      }
    }
    
    $errori = array();
    
    $result = controllaCampo($valore1)
    if($result !== true) {
      $errori[] = $result;
    }
    $result = controllaCampo($valore2)
    if($result !== true) {
      $errori[] = $result;
    }
    Ciao

  8. #8
    sto creando o almeno ci sto provando ! a costruire un sistema per il rilevameno degli errori
    errori dati principalmente da due funzioni :
    una controlla che la query vada a buon fine : in caso di errore da query error ...
    l' altra molto più complicata controlla gli errori provenienti dalla pagina .. warning ...notice .....
    ad ogni errore si crea un mess ad oc
    e poi se il mess è presente o cio che gli contiene è presente apro una pagina di errore con tanto di mail in partenza !
    il problema è riuscire a caricare il mess di errore dalle due funzioni in un qualcosa !!
    si! si! mi sembra che sto programmando !

  9. #9
    usare global !
    che ne pensate ?
    si! si! mi sembra che sto programmando !

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Evito sempre di usare GOBAL, perchè prima o poi andrai certamente a coprire la variabile creata da qualcun altro
    Per quanto mi riguarda $GLOBAL neanche esiste... se ho bisogno di qualcosa di "global" uso un oggetto singleton

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.