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