PHP: Variabili

Creazione (dichiarazione) di variabili PHP

In PHP, una variabile inizia con il segno del dollaro $, seguito dal nome della variabile:

<?php
$txt = "Ciao a tutti!";
$x = 5;
$y = 10.5;
?>

Nota: quando si assegna un valore di testo a una variabile, inserire le virgolette attorno al valore.

Nota: a differenza di altri linguaggi di programmazione, PHP non ha alcun comando per dichiarare una variabile. Viene creato nel momento in cui gli si assegna per la prima volta un valore.

Pensa alle variabili come contenitori per l’archiviazione dei dati.

Variabili PHP

Una variabile può avere un nome breve (come xey) o un nome più descrittivo (age, carname, total_volume).

Regole per le variabili PHP:

  • Una variabile inizia con il segno del dollaro $, seguito dal nome della variabile
  • Un nome di variabile deve iniziare con una lettera o il carattere di sottolineatura
  • Un nome di variabile non può iniziare con un numero
  • Un nome di variabile può contenere solo caratteri alfanumerici e caratteri di sottolineatura (Az, 0-9 e _)
  • I nomi delle variabili fanno distinzione tra maiuscole e minuscole ($eta e $ETA sono due variabili diverse)

Variabili di output

L’ ‘echo‘, è un’istruzione PHP che viene spesso utilizzata per inviare dati allo schermo.

L’esempio seguente mostrerà come produrre testo e una variabile:

<?php
$txt = "ilsito.net";
echo "Amo $txt!";
?>

L’esempio seguente produrrà lo stesso output dell’esempio precedente:

<?php
$txt = "ilsito.net";
echo "Amo " . $txt . "!";
?>

L’esempio seguente genererà la somma di due variabili:

<?php
$x = 5;
$y = 4;
echo $x + $y;
?>

PHP è un linguaggio tipicamente diffuso

Nell’esempio sopra, nota che non abbiamo dovuto dire a PHP quale tipo di dati è la variabile.

PHP associa automaticamente un tipo di dati alla variabile, a seconda del suo valore. Poiché i tipi di dati non sono impostati in senso stretto, è possibile eseguire operazioni come l’aggiunta di una stringa a un numero intero senza causare un errore.

In PHP 7 sono state aggiunte dichiarazioni di tipo. Ciò offre un’opzione per specificare il tipo di dati previsto durante la dichiarazione di una funzione e, abilitando il requisito rigoroso, genererà un “Errore irreversibile” su una mancata corrispondenza del tipo.

Maggiori informazioni su requisiti e dichiarazioni sui tipi di dati sono disponibili nella pagina dove si parla delle Funzioni

Ambito delle variabili PHP

In PHP, le variabili possono essere dichiarate ovunque nello script.

L’ambito di una variabile è la parte dello script in cui è possibile fare riferimento o utilizzare la variabile.

PHP ha tre diversi ambiti per le variabili:

  • locale
  • globale
  • statico

Ambito globale e locale

Una variabile dichiarata al di fuori di una funzione ha un AMBITO GLOBALE e può essere raggiunta solo al di fuori di una funzione:

<?php
$x = 5; // global scope

function myTest() {
  // la variabile all'interno della funzione non verrà riconosciuta
  echo "<p>La variabile è: $x</p>";
}
myTest();

echo "<p>La variabile è: $x</p>";
?>

Una variabile dichiarata all’interno di una funzione ha un AMBITO LOCALE e può essere raggiunta solo all’interno di quella funzione:

<?php
function myTest() {
  $x = 5; // local scope
  echo "<p>LA variabile è: $x</p>";
}
myTest();

// la variabile non verrà riconosciuta
echo "<p>La variabile è: $x</p>";
?>

È possibile avere variabili locali con lo stesso nome in funzioni diverse, poiché le variabili locali sono riconosciute solo dalla funzione in cui sono dichiarate.

PHP La parola chiave globale

La parola chiave global viene utilizzata per accedere a una variabile globale all’interno di una funzione.

Per fare ciò, si usa la parola chiave global prima delle variabili (all’interno della funzione):

<?php
$x = 5;
$y = 10;

function myTest() {
  global $x, $y;
  $y = $x + $y;
}

myTest();
echo $y; // risultato 15
?>

PHP può memorizzare anche tutte le variabili globali in un array. Questo array è anche accessibile dall’interno delle funzioni e può essere utilizzato per aggiornare direttamente le variabili globali. $GLOBALS[index] index. Per esempio:

<?php
$x = 5;
$y = 10;

function myTest() {
  $GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
}

myTest();
echo $y; // outputs 15
?>

PHP La parola chiave statica

Normalmente, quando una funzione viene eseguita, tutte le sue variabili vengono eliminate. Tuttavia, a volte vogliamo che una variabile locale NON venga eliminata. Ne abbiamo bisogno per un ulteriore lavoro. Per fare ciò, usa la parola chiave static quando dichiari per la prima volta la variabile:

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

myTest();
myTest();
myTest();
?>

Quindi, ogni volta che viene chiamata la funzione, quella variabile avrà ancora le informazioni contenute dall’ultima volta che la funzione è stata chiamata.

Nota: la variabile è ancora locale alla funzione.