PHP
HTML
CSS
JavaScript
Generatori
Varie & Old

PHP: Scope variabili

Scope delle variabili in PHP

Lo scope definisce in quali parti del programma una variabile è accessibile. Analizziamo gli scope disponibili in PHP.

Introduzione allo scope

In PHP le variabili non sono sempre accessibili ovunque. Lo scope indica il contesto in cui una variabile può essere letta o modificata: all’interno di una funzione, in tutto lo script o mantenendo il valore tra più esecuzioni.


Variabili locali

Le variabili dichiarate dentro una funzione sono locali. Esistono solo all’interno di quella funzione.

Codice Esempio: variabile locale

CODE: PHPpreleva codice
  1. <?php
  2. function testLocale() {
  3.   $x = 10;
  4.   echo "Dentro la funzione: $x<br>";
  5. }
  6. testLocale();
  7.  
  8. // Qui $x non è definita
  9. // echo $x; // Errore
  10. ?>
  11. <!-- Output nel browser:
  12. Dentro la funzione: 10
  13. -->

Variabili globali

Le variabili dichiarate fuori da ogni funzione sono globali. Non possono essere usate direttamente dentro le funzioni a meno che non vengano importate.

Codice Esempio: variabile globale

CODE: PHPpreleva codice
  1. <?php
  2. $y = 5;
  3.  
  4. function testGlobale() {
  5.   global $y;
  6.   echo "Dentro la funzione: $y<br>";
  7. }
  8. testGlobale();
  9. echo "Fuori dalla funzione: $y<br>";
  10. ?>
  11. <!-- Output nel browser:
  12. Dentro la funzione: 5
  13. Fuori dalla funzione: 5
  14. -->

Codice Esempio: stampa array $GLOBALS

CODE: PHPpreleva codice
  1. <?php
  2. $y = 3;
  3. $z = "Mario";
  4. $GLOBALS['x'] = "Anna";
  5.  
  6. echo "<pre>";
  7. print_r($GLOBALS);
  8. echo "</pre>";
  9. ?>
  10. <!-- Output nel browser (estratto semplificato):
  11. Array
  12. (
  13.     [y] => 3
  14.     [z] => Mario
  15.     [x] => Anna
  16.     [...altre variabili globali di sistema...]
  17. )
  18. -->

Variabili statiche

Le variabili statiche mantengono il loro valore tra le chiamate successive alla funzione.

Codice Esempio: variabile static

CODE: PHPpreleva codice
  1. <?php
  2. function contatore() {
  3.   static $count = 0;
  4.   $count++;
  5.   echo "Chiamata numero: $count<br>";
  6. }
  7.  
  8. contatore();
  9. contatore();
  10. contatore();
  11. ?>
  12. <!-- Output nel browser:
  13. Chiamata numero: 1
  14. Chiamata numero: 2
  15. Chiamata numero: 3
  16. -->

Tabella riassuntiva scope variabili

Scope Descrizione Esempio
LocaleVisibile solo dentro la funzione in cui è dichiaratafunction test() { $x = 5; }
GlobaleVisibile nello script, ma per usarla in funzione serve globalglobal $x;
StaticMantiene il valore tra più chiamate della funzionestatic $count = 0;
$GLOBALSArray associativo che contiene tutte le variabili globali$GLOBALS['x']

Considerazioni

Comprendere lo scope delle variabili è essenziale per scrivere codice ordinato e senza errori. Una gestione corretta evita conflitti e garantisce che i dati siano accessibili solo dove necessario.


I Cookie su questo sito:

Il nostro sito utilizza cookie e altre tecnologie in modo tale che sia noi, sia i nostri partner, possiamo ricordarci di te e capire come tu e gli altri visitatori utilizzate il nostro sito. Qui puoi trovare ulteriori informazioni sui cookie e le altre tecnologie. Chiudendo questo banner o continuando la navigazione acconsenti all'uso dei cookie. Acconsento Info Cookies