Aller au contenu

Variable dans une variable (array)


Sujets conseillés

Posté (modifié)

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
Posté

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 :)

Posté (modifié)

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

Veuillez vous connecter pour commenter

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



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