Page 1 sur 1
Nom d'une variable contenant une variable
Posté : 06 août 2017, 10:45
par stevefigueras
Bonjour à tous j'imagine que mon problème va vous parraître bien simple et pourtant il ne l'est pas pour moi
Dans le cadre d'un loop array j'ai une variable à renseigner à chaque loop, mais celle ci doit prendre la valeur de l'array
La ligne qui pose souci est
Code : Tout sélectionner
<?php $annee_text= array("an_1970","an_1971", "an_1972");
foreach ($annee_text as $value) {
$texte=$bdd->query('SELECT * FROM '.$value.' WHERE `num_jour` = '.$num_jour.'' );
$texte = $texte->fetch();
if(empty($texte['contenu_principal'])) {
$contenu".$value." = 0;
} else{
Merci de votre aide à tous

Re: Nom d'une variable contenant une variable
Posté : 06 août 2017, 11:53
par @rthur
Bonjour,
Cela s'appelle des variables dynamiques, voici la doc sur le sujet avec pas mal d'exemples explicites :
http://php.net/manual/fr/language.varia ... riable.php
Toutefois, mon conseil est d'éviter le plus possible d'avoir recours à ce type de variables et de préférer si c'est possible d'utiliser des tableaux avec des index que tu peux construire et manier + facilement. Ça facilitera beaucoup la relecture de ton code par la suite.
Re: Nom d'une variable contenant une variable
Posté : 07 août 2017, 22:15
par stevefigueras
Tout d'abord merci pour ta réponse et ton aide.
J'ai tenté d'appliquer les informtations de la page mais je n'y parviens pas.
J'ai tenté le code suivant
Code : Tout sélectionner
$essai = $value; //renvoi la valeur abcd
echo $essai; // abcd
$contenu ${$essai} = 0; //je voudrai que la variable $contenuabcd soit mise à 0
Re: Nom d'une variable contenant une variable
Posté : 08 août 2017, 00:14
par @rthur
//je voudrai que la variable $contenuabcd
Donc il faut déjà que tu crées une variable qui aurait pour valeur le texte "contenuabcd".
Comment fais-tu cela ?
Re: Nom d'une variable contenant une variable
Posté : 08 août 2017, 07:56
par stevefigueras
Merci de ton aide
Voici mon code en intégralité pour que tu me comprenne mieux
J'ai un array donc à chaque tour j'ai une $value
$essai devient $ value (soit an_1970 puis an_1971 ect
j'aimerai pouvoir renseigner une variable contenuan1970 puis au tour suivant une var contenuan_1971 ect
Code : Tout sélectionner
<?php $annee_text= array("an_1970","an_1971");
foreach ($annee_text as $value) {
$texte=$bdd->query('SELECT * FROM '.$value.' WHERE `num_jour` = '.$num_jour.'' );
$texte = $texte->fetch();
if(empty($texte['contenu_principal'])) {
$essai = $value; //renvoi la valeur ann_1970
echo $essai; // affiche bien an_1970
$contenu {$essai} = 0; //je voudrai que la variable $contenuan_1970 soit mise à 0
echo 'ma valeur est';
echo $contenuan_1970 ; // affiche ma valeur est an_1970 hors elle devrait afficher 0
Re: Nom d'une variable contenant une variable
Posté : 08 août 2017, 10:07
par stevefigueras
Finalement comme je ne trouve pas je vais voir du côté des keys pour les arrays pour spécifier une clée et la modifier ensutie si mon contenu est vide. Ca semble plus propre.
Re: Nom d'une variable contenant une variable
Posté : 08 août 2017, 11:59
par @rthur
Finalement comme je ne trouve pas je vais voir du côté des keys pour les arrays pour spécifier une clée et la modifier ensutie si mon contenu est vide. Ca semble plus propre.
Oui, c'est bien plus propre, c'est une meilleure approche !
Re: Nom d'une variable contenant une variable
Posté : 09 août 2017, 21:25
par stevefigueras
Finalement comme je ne trouve pas je vais voir du côté des keys pour les arrays pour spécifier une clée et la modifier ensutie si mon contenu est vide. Ca semble plus propre.
Oui, c'est bien plus propre, c'est une meilleure approche !
Oui maintenant je le sais mais comme je débute google me mène parfois au delà de la logique lol
