W3docs

Introduzione alle Variabili PHP

In PHP, una variabile è uno spazio in memoria usato per memorizzare valori. Le variabili PHP sono indicate dal segno del dollaro ($) seguito dal nome della variabile.

In PHP, una variabile è un contenitore con nome che memorizza un valore in memoria. Le variabili sono indicate da un segno del dollaro ($) seguito dal nome della variabile. Il valore che una variabile contiene può essere impostato, modificato e letto in qualsiasi momento durante l'esecuzione di uno script PHP, il che rende uno script dinamico anziché un blocco fisso di output.

Questo capitolo spiega come dichiarare le variabili, le regole di denominazione da rispettare, i tipi di dato che una variabile può contenere, come PHP determina il tipo di una variabile automaticamente e le operazioni più comuni sulle variabili.

Dichiarare una Variabile

Una variabile viene creata nel momento in cui le si assegna un valore. PHP non ha una parola chiave separata per la "dichiarazione" — l'assegnazione è la dichiarazione:

PHP define a variable

<?php
$variable_name = value;

Qui $variable_name è il nome e value è ciò che vi si memorizza. Un esempio completo e funzionante:

<?php
$greeting = "Hello, World!";
$year     = 2024;

echo $greeting;   // Hello, World!
echo "\n";
echo $year;       // 2024

Output:

Hello, World!
2024

Non è obbligatorio assegnare un valore a una variabile quando la si menziona per la prima volta, ma leggere una variabile che non è mai stata assegnata genera un avviso e restituisce NULL, quindi è sempre bene assegnare un valore prima di utilizzarla.

Regole di Denominazione

Un nome di variabile PHP valido:

  • Inizia con una lettera o un underscore (_) — mai con una cifra.
  • Contiene solo lettere, numeri e underscore dopo il primo carattere.
  • È case-sensitive: $name, $Name e $NAME sono tre variabili diverse.
<?php
$user_age = 30;   // valid
$_token   = "ab"; // valid (starts with underscore)
$2cool    = 1;    // INVALID — cannot start with a digit

Per convenzione, le variabili PHP usano il snake_case ($first_name), sebbene anche il camelCase ($firstName) sia comune. Scegli uno stile e mantienilo costante.

Tipi di Dato che una Variabile Può Contenere

PHP è tipizzato dinamicamente: non si dichiara mai il tipo e la stessa variabile può contenere tipi diversi nel corso della sua vita. Il tipo viene dedotto dal valore assegnato.

  • String — una sequenza di caratteri: $name = "John Doe";
  • Integer — un numero intero: $age = 25;
  • Float — un numero con la virgola decimale: $average = 7.5;
  • Booleantrue o false: $is_active = true;
  • Array — una raccolta ordinata di valori: $fruits = ["apple", "banana", "orange"];
  • Object — un'istanza di una classe: $person = new Person();
  • NULL — una variabile senza valore: $email = null;

Puoi ispezionare il valore e il tipo di una variabile in fase di esecuzione con var_dump():

<?php
$age     = 25;
$average = 7.5;
$name    = "Sara";

var_dump($age);
var_dump($average);
var_dump($name);

Output:

int(25)
float(7.5)
string(4) "Sara"

Per un approfondimento su ciascun tipo, consulta PHP Data Types.

Tipizzazione Debole e Type Juggling

Poiché il tipo di una variabile dipende dal suo valore, riassegnare un valore cambia il tipo:

<?php
$x = 10;       // $x is an integer
$x = "ten";    // now $x is a string — perfectly legal
$x = 3.14;     // now $x is a float

PHP converte inoltre i tipi automaticamente in molte espressioni (chiamato type juggling). Ad esempio, una stringa numerica viene trattata come numero in un'operazione aritmetica:

<?php
$result = "5" + 3;
echo $result;   // 8 — the string "5" is converted to the integer 5

Questa comodità può sorprendere, quindi quando hai bisogno che un valore sia di un tipo specifico, esegui un cast esplicito: (int) $value, (float) $value o (string) $value.

Operazioni sulle Variabili

Una volta definite le variabili, le si può combinare e confrontare.

Assegnazione — memorizza un valore:

<?php
$name = "John Doe";

Aritmetica — addizione, sottrazione, moltiplicazione e così via:

<?php
$a = 8;
$b = 3;
$sum = $a + $b;
echo $sum;   // 11

Confronto — verifica la relazione tra valori; il risultato è un boolean:

<?php
$a = 5;
$b = 5;
$is_equal = ($a == $b);
var_dump($is_equal);   // bool(true)

Concatenazione — unisce stringhe con l'operatore punto (.):

<?php
$first_name = "John";
$last_name  = "Doe";
$full_name  = $first_name . " " . $last_name;
echo $full_name;   // John Doe

Per l'elenco completo degli operatori, consulta PHP Operators.

Scope delle Variabili

Il luogo in cui si dichiara una variabile determina dove può essere letta. Una variabile creata nel corpo principale di uno script non è automaticamente disponibile all'interno di una funzione, e viceversa:

<?php
$message = "outside";

function show() {
    echo $message;   // Notice: undefined variable — scope does not reach in
}

show();

Per usare una variabile esterna all'interno di una funzione, passala come argomento oppure importala con la parola chiave global. Lo scope è una fonte comune di bug per i principianti, quindi vale la pena leggere il capitolo dedicato a PHP Variable Scope.

Costanti vs. Variabili

Quando un valore non deve mai cambiare, usa una costante anziché una variabile. Le costanti non hanno il prefisso $ e vengono definite con define() o la parola chiave const. Consulta PHP Constants per i dettagli.

Conclusione

Le variabili PHP sono i mattoni di ogni script: memorizzano e manipolano i dati con cui lavora il programma. I punti chiave sono che le variabili iniziano con $, i nomi sono case-sensitive e non possono iniziare con una cifra, e PHP deduce il tipo dal valore, quindi una singola variabile può contenere stringhe, numeri, array, oggetti o NULL nel corso della sua vita. Da qui, continua con PHP Data Types e PHP Operators per mettere le variabili in pratica.

Esercitati

Pratica
Quali delle seguenti affermazioni sulle variabili PHP sono vere?
Quali delle seguenti affermazioni sulle variabili PHP sono vere?
Was this page helpful?