Aller au contenu

Variable dans une variable (array)


zimounet

Sujets conseillés

Salut à tous,

J'me suis toujours pris la tete pour ce genre de truc, et j'ai toujours laissé tombé, mais la j'en ai vraiment besoin.

Alors le plus simple est de présenter mon code:

foreach ($items as $item)
   {
$html .= "<li><a href=\"".$item[''.$lien.'']."\" target=\"_blank\">";
   $html .= $item[''.$titre.'']."</a></li>\n";
   }

Vous l'aurez compris, j'aimerais que les variable $liens et $titre soient "écrite" par le parser php avant que ce dernier prennent en compte les var array tableau $item.

Vous allez me demander le pourquoi du besoin de faire ça...

Il s'agit d'un parser RSS, pour lequel j'utilise la classe magpieRSS. Le nom des item et l'adresse du flux RSS doivent etre définit par des variables d'url récupéré plus haut. (les variables $lien et $titre en font partit)

Edit: Je viens d'essayer ceci:

 foreach ($items as $item)
   {
   
 $item['lien'] = $item['$lien'];
 $item['titre'] = $item['$titre'];
$html .= "<li><a href=\"".$item['lien']."\" target=\"_blank\">";
     $html .= $item['titre']."</a></li>\n";
   }

Ne marche pas non plus :s

Modifié par zimounet
Lien vers le commentaire
Partager sur d’autres sites

Je pense que la réponse se trouve du côté de la fonction eval.

Ca devrait être dans le genre :

eval("\$lien = \$item[\"$lien\"];");

Essai :)

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

la déclaration dynamique de clé de tableau, au moyen de variables se fait avec cette syntaxe :

$item[$keyname] = value

Un peu de lecture du manuel PHP au sujet des tableaux

Note :  Cela ne signifie pas que vous devez toujours  mettre les clés entre guillemets. Vous n'allez pas utiliser les guillemets avec les clés qui sont des constantes ou des variables, car cela empêchera PHP de les interpréter correctement.
Source: http://php.benscom.com/manual/fr/language.types.array.php

Ce qui donnerait :

foreach ($items as $item) {
 $html .= "<li><a href=\"".$item[$lien]."\" target=\"_blank\">";
 $html .= $item[$titre]."</a></li>\n";
}

Modifié par TheRec
Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...