Créer un tableau associatif à partir de variables

Il arrive parfois de vouloir créer un tableau associatif à partir de plusieurs variables, lorsque l'on souhaite par exemple passer des données à template (PHP, twig, blade).

$username = 'john';
$fullName = 'John Doe';
$age = 42;

$this->render(
    'user.html.twig',
    [
        'username' => $username,
        'fullName' => $fullName,
        'age' => $age, 
    ]
);

Ce code est tout à fait valide, mais on peut faire plus simple en utilisant une fonction native de PHP.

$username = 'john';
$fullName = 'John Doe';
$age = 42;

$this->render(
    'user.html.twig',
    compact('username', 'fullName', 'age')
);

La fonction compact va créer un tableau associatif avec comme clé le nom de la variable et comme valeur la valeur associée.

Dans l'exemple ci-dessus, compact va donc créer :

array (
  'username' => 'john',
  'fullName' => 'John Doe',
  'age' => 42,
)

Il existe la fonction inverse, extract, qui va créer des variables à partir d'un tableau associatif.

$var = [
    'username' => 'John',
    'fullName' => 'John Doe',
    'age' => 42,
];

extract($var);

La fonction extract va créer autant de variables que d'entrées dans le tableau. Dans l'exemple ci-dessus, les variables $username, $fullName et $age vont être créées avec respectivement les valeurs john, John Doe et 42.

🚀 Tu débutes en PHP et tu veux éviter les erreurs classiques ?

Astuces et conseils en PHP

J’ai préparé un guide pratique avec une dizaine de conseils essentiels pour poser de bonnes bases.

👉 Bonnes pratiques, astuces spécifiques à PHP, exemples concrets… tout y est pour prendre de suite les bonnes habitudes.

📥 Télécharge gratuitement ton guide ici et démarre ton apprentissage du bon pied 👇