Tableaux plusieur dimension - PHP - Programmation
Marsh Posté le 31-03-2004 à 16:31:59
$val="$tableau[access][agir][session]";
Je n'ai pas compris pourquoi tu devais faire une chaîne de caractères.
Sinon pour répondre à ta question ceci devrait marcher :
$val="${tableau['access']['agir']['session']}";
Marsh Posté le 31-03-2004 à 16:38:34
En fait je fais des fonction recursive, donc ma memoire d'iteration, c est une chaine de caractere.
Donc a un moment donnée pendant le parcoure du tableau j'utilise cette memoire pour trouver ma valeur.
Ta syntaxe ne marche pas. c est koi comme ' ou `?
Marsh Posté le 31-03-2004 à 16:42:20
guillemets simples (un chaîne de caractères)
tu peux me montrer la ligne en question dans ton code ?
Marsh Posté le 31-03-2004 à 16:42:50
Non, la syntaxe de ratibus ne fonctionne pas j'y avais songé en lisant la question
Marsh Posté le 31-03-2004 à 16:45:56
Ouai je confirme ca marche pas il me refuse les { .
Cela ne viens pas de guillemets, je les ai tous essayé.
Marsh Posté le 31-03-2004 à 17:07:54
Je lis la doc pourtant : http://www.php.net/manual/fr/language.types.string.php exemple 6-15
Marsh Posté le 31-03-2004 à 17:09:37
TD-Rat a écrit : Ouai je confirme ca marche pas il me refuse les { . |
Ton code c'est exactement la ligne que tu nous as donnée ?
Si c'est le cas fais ça :
$val=$tableau['access']['agir']['session'];
Marsh Posté le 31-03-2004 à 17:14:35
Ah ouais, l'idée des {} était bonne mais mal employée
Faut mettre
Code :
|
Marsh Posté le 31-03-2004 à 17:36:32
Ok merci bien ,j essaierai tout ca demain car j ai deja quitter le boulot.
Je poste demain dés que j ai essayer, merci bcp
Marsh Posté le 31-03-2004 à 17:40:08
ratibus a écrit : |
Ouai ca fonctionne mais avec le $ a l interieur des acolades.
Marsh Posté le 31-03-2004 à 17:51:18
TD-Rat a écrit : |
Oui autant pour moi j'avais fait une faute de frappe, mea culpa
Marsh Posté le 01-04-2004 à 09:36:29
OK j'ai pu verifier au boulot que ca marche bien.
Par contre se pause a moi un probleme similaire
$val1="$tab";
$val1.="['access']['agir']['session']";
echo {$val1}; m affiche Array['access']['agir']['session']
De nouveau il interprete que la premiere partie.
Une idée ?
Marsh Posté le 01-04-2004 à 10:19:13
$val1="tab";
$val1.="['access']['agir']['session']";
echo ${$val1};
Marsh Posté le 01-04-2004 à 11:08:26
$val1="tab";
$val1.="['access']['agir']['session']";
eval('echo $'.$val1.';');
Marsh Posté le 01-04-2004 à 11:54:36
K tres bien c est nickel , ca marche.
Juste une derniere chose comme dirai Columbo.
pour mettre une valeur dans $val2 ?
$val2="tab['access']";
$val2.="['TOTO']['taille']";
eval('$'.$val2.'=100;');
Cette syntaxe ne marche pas. Comment faut il faire ?
Marsh Posté le 01-04-2004 à 12:14:55
Ouai autant pour moi en faisant le copier coller j avais laisser le val1 dans mon eval.
Marsh Posté le 31-03-2004 à 16:22:14
J ai un tableau qui contient un enregistrement:
$val=$tab[key1][key2][key3];
echo $val; => j ai ma valeur.
Ce tableau n est pas de dimension fixe. Pour le parcourir, j utilise des foreach() avec une fonction recursive.
Tout va bien, je garde, l ensemble des keys dans un tableau que j incremente au fur et a mesure de mon parcour du tableau.
Maintenant ca se complique, je veux construire ma variable. Je doit la construire en texte car je suis ds une tableau a dimension variable donc je fais un for() sur les keys que j ai sauvegardé et je construit ma viaraible.
$val="$tableau[access][agir][session]"
Mais impossible de recupere le contenu:
echo $val; me renvoir Array[agir][session]
Donc j en conclu qu il interprete que la premiere partie de ma variable.
Comment le forcer a interpreter l'ensembel des [] et pas s'arreter au premier?
Existe t'il un appelle du tableau ne portant pas a confusion?
Thx