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.
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.