- Home
- Categorie
- Coding e Sistemistica
- PHP
- come usare variabile definita in una funzione
-
come usare variabile definita in una funzione
avendo una funzione del tipo:
funzione.phpfunction miafunzione($mioparamentro){ //codice che genera $variabile1 $variabile1= implode(",", $foo); //altro codice che genera $variabile2 $variabile2=implode(",", $foo); }
come faccio a richiamare le due variabili in un file dove ho incluso il file che contiene la funzione descritta sopra?
script.phpinclude 'funzione.php'; miafunzione(x); printf($variabile1); printf($variabile2);
questo codice non funziona ma non risultano errori quando eseguo script.php
qualcuno sa dirmi in cosa sbaglio?grazie.
-
i metodi per passare una variabile all'esterno di una funzione sono 2:
- tramite il valore di ritorno della funzione quindi:
function mia()
$var=1;
return $var;oppure passando la variabile alla funzione per indirizzo anteponendo la e commerciale:
function mia(&$var)
$var=1;in entrambi i modi puoi recuperare la variabile all'esterno.
esiste a dire il vero un altro metodo che non è molto bello ed elegante ma è pratico a volte, usare le variabili globali.
$var=0;
miafunzione();
function miafunzione()
global $var;$var = 1;
in questo modo la variabile $var mantiene il valore acquisito nella funzione.
-
grazie delle delucidazioni tymba.
in ogni modo ho risolto cosi:
funzione.php diventa class.php dove definisco una classe.class miaclass{ var $variabile1; var $variabile2; function miafunzione($mioparamentro){ //codice che genera $variabile1 $this->variabile1= implode(",", $foo); //altro codice che genera $variabile2 $this->variabile2=implode(",", $foo); } }
script.php diventa
require 'class.php'; $bar= new miaclass(); $bar->miafunzione(mioparametro); echo $bar->variabile1; echo $bar->variabile2;
cosi ho cominciato anche a programmare ad oggetti
è proprio vero il miglior modo per imparare a programmare è cercare di risolvere i problemi.sulle classi avevo letto molto ma non ci avevo capito un gran che, ed anche ora molti lati mi sono oscuri o meglio un po ostici da digerire però le potenzialità sono ottime.