Page 1 sur 1

Concatener le nom d'une variable avec le contenu d'une autre

Posté : 03 août 2021, 09:31
par stevefigueras
Bonjour à tous je requiert votre aide

voilà mon code

Code : Tout sélectionner

echo htmlspecialchars($row['variable_.1']);
Ca fonctionne pas de souci
Maintenant j'aimerai que le 1 ne soit plus inscrit en dur mais contenu dans une variable que je pourrai faire évoluer

j'ai essayé

Code : Tout sélectionner

echo htmlspecialchars($row['conscience_.$valeur_heure']);

Code : Tout sélectionner

echo htmlspecialchars($row['conscience_.'_'.$valeur_heure']);
Mais ca ne fonctionne pas :(

pourtant ma $valeur_heure renvoit bien 1 :)

Merci de votre aide les copains :)

Re: Concatener le nom d'une variable avec le contenu d'une autre

Posté : 03 août 2021, 10:13
par @rthur
A priori un truc comme ça :
echo htmlspecialchars($row['conscience_.'.$valeur_heure]);
A noter toutefois, que la bonne pratique est en général d'utiliser un tableau à 2 dimensions, plutôt que de concaténer des noms de variables.
Par exemple : $row['conscience'][$valeur_heure]
Mais tout dépend de l'organisation de ton code.

Re: Concatener le nom d'une variable avec le contenu d'une autre

Posté : 03 août 2021, 11:19
par stevefigueras
Merci je progresse j'ai ce code

Code : Tout sélectionner

<?php echo htmlspecialchars($row['conscience_.'.$valeur_heure]); ?>
qui m'appelle bien le champs conscience_1 mais bizarrement j'ai une erreur Undefined array key alors que si je rentre la valeur en dur ca passe niquel...

J'y perd mon latin pour le coup .

Re: Concatener le nom d'une variable avec le contenu d'une autre

Posté : 03 août 2021, 11:33
par ynx
Bonjour,

Es tu sûr que le message d'erreur Undefined array key provient de cette ligne de code et pas d'une autre ligne ?

Tu peux éventuellement vérifier que la variable existe avec la fonction isset() avant de l'afficher :
echo isset($row['conscience_.' . $valeur_heure]) ? htmlspecialchars($row['conscience_.'.$valeur_heure]) : 'La variable n\'existe pas';

Re: Concatener le nom d'une variable avec le contenu d'une autre

Posté : 03 août 2021, 21:44
par stevefigueras
Ca ne passait toujours pas.
J'ai donc trouvé une solution

Code : Tout sélectionner

$valeur='2'; echo $valeur; $conscience_cont='truc_'; $conscience_cont=$conscience_cont.$valeur_heure;

Code : Tout sélectionner

<?php echo htmlspecialchars($row[$conscience_cont]); ?>

Re: [RESOLU] Concatener le nom d'une variable avec le contenu d'une autre

Posté : 04 août 2021, 10:12
par @rthur
Du coup ça veut dire que ton nom de variable n'était pas variable_.1 mais variable_1 (sans le point) contrairement a ce qui est indiqué dans ton 1er message ;-)

Et donc ça aurait donné ce code là :
echo htmlspecialchars($row['conscience_'.$valeur_heure]);