PHP Basic – Lez.3.1 < PHP Variables Scope >

In PHP, le variabili possono essere dichiarate in qualsiasi parte nello script.

La portata di una variabile (scope) è la parte dello script dove la variabile può essere referenziata/usata.

PHP ha tre differenti “variable scopes”:

  • local (locale)
  • global (globale)
  • static (statico)

Local e Global Scope

Una variabile dichiarata fuori una funzione ha un GLOBAL SCOPE e può essere utilizzata solo fuori dalle funzioni.

Una variabile dichiarata all’interno di una funzione ha un LOCAL SCOPE e può essere utilizzata solo all’interno di quella funzione.

Esempio

<?php
 $x = 5;
 function local() {
  $x = 10;
  return $x;
 }
 echo "Variabile globale : $x <br />"; // Output 5
 echo 'Variabile locale : ' . local1() . '<br /><br />'; // Output 10
?>

La keyword “global”

La keyword “global” è usata per accedere ad una variabile globale all’interno di una funzione.

Per fare questo, basta usare tae keyword prima della variabile (dentro la funzione).

Esempio

<?php
 $x = 5;
 function local() {
  global $x;
  $x = 10;
  return $x;
 }
 local();
 echo "Variabile globale modificata da funzione : $x"; //Output 10
?>

La keyword “static”

Normalmente, quando una funzione è completata/eseguita, tutte le sue variabili sono cancellate. Tuttavia, qualche volta potremmo volere che una variabile locale non sia eliminata perchè necessaria per future operazioni.

Per fare questo, basta usare la keyword “static” nel momento in cui si dichiara la variabile.

Esempio

<?php
 
 function myTest()
 {
  static $x=0;
  echo $x;
  $x++;
 }
 
 myTest();
 myTest();
 myTest();
 
?>

Nell’esempio ogni volta che la funzione viene chiamata, la variabile statica conterrà come valore iniziale l’ultima informazione assegnata o elaborata nella chiamata precedente.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *