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; // 2024Output:
Hello, World!
2024Non è 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,$Namee$NAMEsono tre variabili diverse.
<?php
$user_age = 30; // valid
$_token = "ab"; // valid (starts with underscore)
$2cool = 1; // INVALID — cannot start with a digitPer 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; - Boolean —
trueofalse:$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 floatPHP 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 5Questa 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; // 11Confronto — 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 DoePer 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.