Tous les outils
Gratuit

Une référence PHP 8.3+ consultable et imprimable — syntaxe, chaînes, tableaux, fonctions, classes, enums, attributs et fonctionnalités modernes. Gratuit.

Bases et types

10
declare(strict_types=1);
Imposer le typage scalaire strict
$x = 1;
Les variables commencent par un dollar
const MAX = 100;
Constante à la compilation
gettype($x)
Obtenir le type d'une valeur
(int) $x
Convertir en entier
is_int($x)
Aide de vérif. de type (is_string, ...)
int|string $x
Déclaration de type union
?string $x
Type nullable (string ou null)
$a ?? 'default'
Opérateur de coalescence des nuls
$a ??= 'default'
Affecter seulement si null

Chaînes

11
"Hello $name"
Les guillemets interpolent les variables
'literal $x'
Les apostrophes sont littérales
$a . $b
Concaténer des chaînes
strlen($s)
Longueur en octets d'une chaîne
str_contains($s, 'a')
Vérifier une sous-chaîne
str_starts_with($s, 'a')
Vérifier le préfixe
substr($s, 0, 3)
Extraire une partie d'une chaîne
str_replace('a', 'b', $s)
Remplacer toutes les occurrences
explode(',', $s)
Découper en tableau
sprintf('%05.2f', $n)
Sortie de chaîne formatée
trim($s)
Retirer les espaces autour

Tableaux

11
$a = [1, 2, 3];
Littéral de tableau indexé
$a = ['k' => 'v'];
Tableau associatif
array_map(fn($x) => $x * 2, $a)
Transformer chaque élément
array_filter($a, fn($x) => $x > 0)
Garder les éléments correspondants
array_reduce($a, $fn, 0)
Réduire à une seule valeur
in_array($v, $a, true)
Vérification de valeur stricte
array_keys($a)
Obtenir toutes les clés
array_merge($a, $b)
Fusionner des tableaux
[...$a, ...$b]
Étaler/fusionner des tableaux
count($a)
Nombre d'éléments
[$x, $y] = $a;
Déstructuration de tableau

Fonctions

9
function f(int $a): int {}
Paramètres et retour typés
function f(int $a = 1) {}
Valeur de paramètre par défaut
function f(int ...$nums) {}
Paramètres variadiques
f(...$args)
Étaler les arguments
f(name: 'Sam', age: 30)
Arguments nommés
$fn = fn($x) => $x + 1;
Fonction fléchée (capture auto. la portée)
function () use ($x) {}
Closure capturant une variable
$fn = strlen(...);
Syntaxe de callable de première classe
function f(): never {}
Ne retourne jamais (throw ou exit)

Flux de contrôle

9
if ($a) {} elseif ($b) {} else {}
Branches conditionnelles
$a ? $b : $c
Expression ternaire
$a ?: $b
Ternaire court (repli si falsy)
match ($x) { 1, 2 => 'a', default => 'b' }
match strict, basé sur l'expression
switch ($x) { case 1: break; }
Branchement multiple non strict
foreach ($a as $k => $v) {}
Itérer clés et valeurs
for ($i = 0; $i < 10; $i++) {}
Boucle comptée
while ($cond) {}
Boucler tant qu'une condition tient
break / continue
Quitter ou sauter une itération

Classes et POO

10
class A extends B implements C {}
Héritage et interfaces
public function __construct(private int $id) {}
Promotion de propriétés du constructeur
public readonly string $name;
Immuable après initialisation
public function f(): static {}
Renvoyer le type lié tardivement
static::create()
Liaison statique tardive
$obj?->method()
Appel de méthode null-safe
abstract class A {}
Ne peut pas être instanciée directement
trait T {} use T;
Code horizontal réutilisable
$obj instanceof A
Vérification de type à l'exécution
A::class
Chaîne du nom de classe complet

Énumérations

9
enum Status { case Active; case Draft; }
Énumération pure
enum Status: string { case A = 'a'; }
Enum adossée (string/int)
Status::Active
Référencer un cas d'enum
Status::from('a')
Construire depuis une valeur adossée
Status::tryFrom('x')
Renvoie null si invalide
Status::cases()
Tableau de tous les cas
$status->value
Valeur adossée d'un cas
$status->name
Nom du cas
enum E { public function label() {} }
Les enums peuvent avoir des méthodes

Gestion des erreurs

9
try {} catch (Throwable $e) {}
Attraper erreurs et exceptions
catch (TypeError | ValueError $e)
Attraper plusieurs types
catch (Exception)
catch sans capture (pas de variable)
finally {}
S'exécute toujours après try/catch
throw new RuntimeException('x')
Lancer une exception
throw $e;
Relancer l'exception attrapée
$x = $v ?? throw new Error();
throw comme expression
$e->getMessage()
Lire le message d'erreur
$e->getPrevious()
Obtenir l'exception chaînée

Attributs et modernité

9
#[Attribute] class Route {}
Déclarer un attribut personnalisé
#[Route('/home')]
Appliquer un attribut à une cible
new ReflectionClass($x)
Inspecter une classe via réflexion
$ref->getAttributes()
Lire les attributs déclarés
json_encode($data)
Sérialiser en JSON
json_decode($s, true)
Décoder du JSON en tableau
array_is_list($a)
true si les clés sont 0..n dans l'ordre
str_word_count($s)
Compter les mots d'une chaîne
$obj::class
Nom de classe depuis une instance

Aucune entrée ne correspond à « :q ».


Besoin d'aide ?
Un problème avec cet outil ? Signalez-le à notre équipe.
Signaler un problème

Ajoutez cet outil gratuit à votre propre site web — copiez-collez le code ci-dessous.