Passaggio di variabile tra funzioni

andreto

Utente Attivo
5 Dic 2012
88
0
0
Ciao,
date queste funzioni, come posso stampare a video l'1?

Ho provato con return, global, $_GLOBALS.
Niente da fare non riesco proprio.

PHP:
function pippo(){
$a='1';
}

function pluto(){
pippo();
echo $a; // vorrei stampare 1
}

pluto();
Grazie,
Andrea
 

andreto

Utente Attivo
5 Dic 2012
88
0
0
Ho risolto così:

PHP:
function pippo(){ 
$a='1';
return $a;
} 

function pluto(){ 
$a=pippo();
echo $a;
} 

pluto();
Potete dirmi se questo è il modo migliore?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.038
146
63
PR
www.borgo-italia.it
ciao
io seguo il principio che le funzioni non debbano presentare nulla, quindi farei così
PHP:
function pippo(){ 
$a='1';
return $a;
} 
function pluto(){ 
$a=pippo();
return $a;
} 
echo pluto();
 

andreto

Utente Attivo
5 Dic 2012
88
0
0
Hai perfettamente ragione.
Per fare l'esempio ho sintetizzato parecchio, in realtà lo script è un po' più complesso.

Ajax chiama la funzione php (pluto)

la quale estrae dal database dei dati e li restituisce con json ad ajax.

La funzione (pluto), chiama un'altra funzione (pippo) per l'apertura del database,

(non voglio creare il file config.php e includerlo)

Della stampa a video se ne occupa Jquery.

Ho creato una funzione per l'apertura del DB perché nello stesso file, diverse funzioni hanno la necessità di accedere al DB, giusto per non riscrivere sempre le stesse cose.

La variabile che in realtà mi occorreva passare era: $conn

Ciao,
Andrea
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.038
146
63
PR
www.borgo-italia.it
ciao
ok, comunque se usi il db in un unico file o pagina va benissimo, ma se la chiamata al file/pagine la devi usare in più file o fai il require_once della pagina di connessione o devi fare il require_once della pagina che contiene la funzione di connessione oppure scrivere la funzione in ogni pagina