Variabili globali e locali

ivarello

Utente Attivo
14 Dic 2012
211
1
16
Ragazzi vorrei una delucidazione sulle variabili globali e locali, più che altro vorrei portare le variabili locali in quelle locali tipo così
PHP:
<?php
$a='5';
function prova(&) {
$b='7';
}
prova(&);
echo $a;
echo '<br/>';
echo $b;
?>
dovrebbe darmi:
5
7
ovviamente non funziona perchè alla &deve seguire la variabile da sostituire ma in questo caso voglio crearla
 
Ultima modifica:
così funziona
PHP:
<?php
$a='5';
$b='5';
function prova(&$b) {
$b='7';
}
prova($b);
echo $a;
echo '<br/>';
echo $b;
?>

Ovviamente così va ma devo per forza creare la variabile prima??
 
Ultima modifica:
così funziona
PHP:
<?php
$a='5';
$b='5';
function prova(&$b) {
$b='7';
}
prova($b);
echo $a;
echo '<br/>';
echo $b;
?>

Ovviamente così va ma devo per forza creare la variabile prima??
Quello che hai effettuato è il passaggio di una variabile tramite referenza, non puoi modificare una variabile se questa non esiste prima, comunque puoi sempre usare il costrutto return per far prendere il valore che vuoi te senza referenza

PHP:
function prova(){
    return 10;
}
$b = prova();
echo $b;
 
nel caso avessi due variabili tipo:
return $a='4';
retunr $b='5';
dovrei fare così:
PHP:
function prova(){ 
    return $a='4';
    return $b='5';  
} 
$b = prova();
$a = prova(); 
echo $a;  
echo $b;
 
nel caso avessi due variabili tipo:
return $a='4';
retunr $b='5';
dovrei fare così:
PHP:
function prova(){ 
    return $a='4';
    return $b='5';  
} 
$b = prova();
$a = prova(); 
echo $a;  
echo $b;

A parte che faresti meglio a dichiararle direttamente comunque come hai fatto attualmente non ha molto senso, aggiungi una condizione a seconda del valore e fai prima

esempio con un array
PHP:
function prova($var){
   $array_vars = array('a'=>'valore per a', 'b'=>'valore per b','c'=>'valore per c');
   return isset($array_vars[$var]) ? $array_vars[$var] : 'Valore predefinito';
}
$b = prova('b');
$a = prova('a');
echo "$a | $b";
 
Ultima modifica:

Discussioni simili