Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Op

2 réponses
Avatar
Otomatic
Bonjour,

Sur un traitement de contenu de tableau, lequel contenu peut être un nom
de variable ou une chaîne de caractère, j'ai des conditions :

> if(strpos($value[1],'$') === 0) {
> $temp = substr($value[1],1);
> $mavariable = $$temp; // Variable dynamique
> }
> else {
> $mavariable = $value[1];
> }

Que j'ai remplacé par l'opérateur ternaire :

> $mavariable = (strpos($value[1],'$') === 0) ? ${$temp = substr($value[1],1)} : $value[1];

Ça fonctionne parfaitement, mais je me pose quand même une question :

Cette manière de générer la variable dynamique par des accolades et une
fonction php est-elle pérenne ou n'est-ce qu'une bidouille ?

Merci.
--
Aujourd'hui, l'idéal du progrès est remplacé par l'idéal de l'innovation :
il ne s'agit pas que ce soit mieux, il s'agit seulement que ce soit
nouveau, même si c'est pire qu'avant et cela de toute évidence.
Henry de Montherlant - Va jouer avec cette poussière

2 réponses

Avatar
Eric Demeester
Bonjour,
Otomatic (Sun, 19 Apr 2020 14:15:19 +0200 - fr.comp.lang.php) :
$mavariable = $$temp; // Variable dynamique
$mavariable = (strpos($value[1],'$') === 0) ? ${$temp = substr($value[1],1)} : $value[1];

Cette manière de générer la variable dynamique par des accolades et une
fonction php est-elle pérenne ou n'est-ce qu'une bidouille ?

A priori c'est pérenne et bien documenté :
https://www.php.net/manual/fr/language.variables.variable.php
Avatar
Otomatic
Eric Demeester écrivait :
A priori c'est pérenne et bien documenté :
https://www.php.net/manual/fr/language.variables.variable.php

Merci.