L'ho già toccato distrattamente in passato, ma adesso lo scopro come una necessità piuttosto impellente.
Ho visto i tipi di variabili, perlomeno alcuni tipi di variabili, ma adesso è il caso che faccia uno studio generale.
Lo Scope è fondamentale.
Anche qui, come in JavaScript, esistono le funzioni.
Scrivo una funzione la chiamo, banalmente.
<?php function funzione(){ echo "Questa è una funzione"; } funzione(); ?>Sì, funziona esattamente come il JavaScript.
Detto questo, analizziamo lo scope.
<?php $variabile=123; function funzione(){ echo $variabile; } funzione(); ?>
Notice: Undefined variable: variabile in /storage/ssd3/737/3147737/public_html/index.php on line 4La variabile dichiarata fuori dalla funzione non viene letta nella funzione.
variabile letta al di fuori di una funzione:
<?php $variabile=123; function funzione(){ echo "funzione"; } funzione(); echo $variabile; ?>
funzione123
Allo stesso modo, la variabile dichiarata nella funzione non dovrebbe poter essere letta al di fuori.
Proviamo:
<?php function funzione(){ $variabile=123; } funzione(); echo $variabile; ?>
Notice: Undefined variable: variabile in /storage/ssd3/737/3147737/public_html/index.php on line 8
...e dovrebbe venir letta all'interno della funzione:
<?php function funzione(){ $variabile=123; echo $variabile; } funzione(); ?>
123
Come faccio a leggere una variabile globale all'interno di una funzione?
Credo di aver capito che ci sono due modi:
- mediante la parola chiave global;
- mediante l'array $GLOBALS[index] in cui sono immagazzinate le variabili globali (in index va il nome della variabile).
<?php
$variabile=123;
function funzione(){
global $variabile;
echo $variabile;
}
funzione();
?>
123
Proviamo l'altro metodo:
<?php $variabile=123; function funzione(){ echo $GLOBALS['variabile']; } funzione(); ?>
123Perfetto!
Nessun commento:
Posta un commento