PHP Cheat Sheet
Ultimo aggiornamento
Hello World e tag
Il codice PHP sta dentro i tag <?php ... ?>; tutto ciò che è fuori viene inviato come semplice output.
| Operazione | Sintassi |
|---|---|
| Aprire / chiudere PHP | <?php ... ?> |
| Stampare testo | echo "Hello, World!"; |
| Stampare con formato | printf("%d items", $n); |
| Echo breve (in HTML) | <?= $name ?> |
| Commento su una riga | // comment o # comment |
| Commento a blocco | /* comment */ |
| Terminatore di istruzione | ; |
| Eseguire un file (CLI) | php index.php |
Variabili e tipi
Le variabili iniziano con $ e hanno tipizzazione dinamica.
| Operazione | Sintassi |
|---|---|
| Dichiarare una variabile | $name = "Ada"; |
| Costante | const PI = 3.14; o define("PI", 3.14); |
| Tipi scalari | int, float, string, bool |
| Null | $x = null; |
| Controllare il tipo | gettype($x), is_int($x), is_array($x) |
| Convertire un tipo | (int) $str, (string) $num |
| La variabile esiste / è impostata | isset($x), empty($x) |
| Interpolazione di stringhe | echo "Hi $name"; |
Stringhe
Le virgolette doppie interpolano le variabili; quelle singole sono letterali.
| Operazione | Sintassi |
|---|---|
| Concatenare | $a . $b |
| Lunghezza | strlen($s) |
| Maiuscole / minuscole | strtoupper($s), strtolower($s) |
| Sottostringa | substr($s, 0, 5) |
| Trovare la posizione | strpos($s, "x") |
| Sostituire | str_replace("a", "b", $s) |
| Dividere in un array | explode(",", $csv) |
| Unire un array | implode(",", $arr) |
| Rimuovere gli spazi | trim($s) |
| Formattare una stringa | sprintf("%05.2f", $n) |
Array (anche associativi)
Un solo tipo di array copre sia le liste indicizzate sia le mappe chiave-valore.
| Operazione | Sintassi |
|---|---|
| Array indicizzato | $nums = [1, 2, 3]; |
| Array associativo | $user = ["name" => "Ada", "age" => 30]; |
| Accedere a un elemento | $nums[0], $user["name"] |
| Aggiungere in coda | $nums[] = 4; |
| Impostare una chiave | $user["role"] = "admin"; |
| Lunghezza | count($nums) |
| Controllare una chiave | isset($user["name"]), array_key_exists("name", $user) |
| Rimuovere un elemento | unset($nums[1]); |
| Unire array | array_merge($a, $b) |
| Iterare chiave => valore | foreach ($user as $k => $v) { ... } |
Controllo del flusso
Condizioni e cicli seguono una sintassi in stile C.
| Operazione | Sintassi |
|---|---|
| If / elseif / else | if ($x > 0) { ... } elseif (...) { ... } else { ... } |
| Ternario | $y = $x > 0 ? "pos" : "neg"; |
| Null coalescing | $name = $_GET["name"] ?? "guest"; |
| Switch | switch ($day) { case 1: ...; break; default: ... } |
| Ciclo for | for ($i = 0; $i < 10; $i++) { ... } |
| Ciclo while | while ($x < 100) { ... } |
| Foreach | foreach ($items as $item) { ... } |
| Espressione match | $r = match($x) { 1 => "one", default => "?" }; |
| Break / continue | break;, continue; |
Funzioni
Le funzioni possono dichiarare tipi, valori predefiniti e parametri variadici.
| Operazione | Sintassi |
|---|---|
| Funzione base | function add($a, $b) { return $a + $b; } |
| Parametri e ritorno tipizzati | function add(int $a, int $b): int { ... } |
| Valore predefinito | function greet($name = "guest") { ... } |
| Parametri variadici | function sum(...$nums) { ... } |
| Passaggio per riferimento | function inc(&$x) { $x++; } |
| Funzione anonima | $f = function($x) { return $x * 2; }; |
| Arrow function | $f = fn($x) => $x * 2; |
| Usare una variabile esterna | function() use ($n) { ... } |
Superglobali
Array integrati disponibili in ogni scope, usati soprattutto per i dati della richiesta.
| Superglobal | Cosa contiene |
|---|---|
$_GET | Parametri della query string dell'URL |
$_POST | Dati del form inviati via POST |
$_REQUEST | Unione di $_GET, $_POST e $_COOKIE |
$_SESSION | Dati di sessione per utente (dopo session_start()) |
$_COOKIE | Cookie inviati dal browser |
$_SERVER | Informazioni sul server e sulla richiesta (REQUEST_METHOD, ecc.) |
$_FILES | Metadati dei file caricati |
$_ENV | Variabili d'ambiente |
Funzioni comuni per gli array
PHP offre centinaia di funzioni per gli array; queste sono le più usate.
| Funzione | Cosa fa |
|---|---|
array_map($fn, $arr) | Trasforma ogni elemento |
array_filter($arr, $fn) | Mantiene gli elementi per cui la callback è vera |
array_reduce($arr, $fn, $init) | Riduce a un solo valore |
in_array($v, $arr) | Controlla se un valore è presente |
array_keys($arr) / array_values($arr) | Restituisce le chiavi o i valori |
sort($arr) / rsort($arr) | Ordina sul posto (crescente / decrescente) |
usort($arr, $cmp) | Ordina con un comparatore personalizzato |
array_slice($arr, 1, 3) | Estrae una porzione |
array_push($arr, $v) / array_pop($arr) | Aggiunge / rimuove dalla fine |
Classi e OOP
PHP supporta classi, ereditarietà, interfacce e modificatori di visibilità.
| Operazione | Sintassi |
|---|---|
| Definire una classe | class User { ... } |
| Proprietà con visibilità | public string $name; |
| Costruttore | function __construct($name) { $this->name = $name; } |
| Promozione nel costruttore | function __construct(public string $name) {} |
| Creare un'istanza | $u = new User("Ada"); |
| Accedere a un membro | $u->name, $u->save() |
| Membro statico | User::$count, User::create() |
| Ereditarietà | class Admin extends User { ... } |
| Interfaccia | interface Saveable { public function save(); } |
| Implementare un'interfaccia | class User implements Saveable { ... } |
La sintassi PHP che usi più spesso, in una sola pagina. Questa PHP cheat sheet è un riferimento rapido per il cuore del linguaggio: variabili e tipi, stringhe, array (compresi gli array associativi), controllo del flusso, funzioni, le superglobali come $_GET e $_POST, e le classi.
Tutto quello che trovi qui è PHP standard che funziona sulle versioni moderne. Copia ciò che ti serve o prova ogni snippet dal vivo nel playground PHP, senza configurare nessun server.
Domande frequenti sulla PHP cheat sheet
Questa PHP cheat sheet è gratuita?
Qual è la differenza tra == e === in PHP?
== è il confronto debole: converte gli operandi in un tipo comune prima di confrontarli, quindi 0 == "0" e perfino 0 == "" possono comportarsi in modo sorprendente tra una versione e l'altra. === è il confronto stretto: restituisce true solo quando i valori sono uguali e dello stesso tipo, quindi 0 === "0" è false. Preferisci === per evitare bug dovuti alla conversione implicita dei tipi.Cosa sono gli array associativi in PHP?
["name" => "Ada", "age" => 30]. PHP ha un unico tipo di array che funziona sia come lista ordinata sia come mappa chiave-valore, quindi accedi ai valori per chiave con $user["name"] e li scorri con foreach ($user as $key => $value).