Problème de création de variable - PHP - Programmation
Marsh Posté le 09-06-2003 à 01:09:36
moi je ferais (si tu connais la profondeur max de ta hierarchie...
(code canevas)
[cpp]
$temp=explode('-',$data[hierarchie ])
$nombre=arraylength($temp)
if($nombre==1)
{
$case[$temp[0]]=$data[texte];
}
if($nombre==2)
{
$case[$temp[0]][$temp[1] ]=$data[texte];
}
...
Marsh Posté le 09-06-2003 à 01:12:07
ben je la connais pas... mais si g pas le choix, j'peux définir une longueur max (ouch elle riske d'etre élevée)
Marsh Posté le 09-06-2003 à 01:29:58
En fait ton problème vient peut être du fait que la génération de nom de variables ne gére que le nom et non les indices.. Faudrait aller voir dans la doc.
Marsh Posté le 09-06-2003 à 14:01:00
dans la doc y'a marké :
Afin de pouvoir utiliser les variables dynamiques avec les tableaux, vous avez à résoudre un problème ambigu. Si vous écrivez $$a[1], le parseur a besoin de savoir si vous parler de la variable qui a pour nom $a[1] ou bien si vous voulez l'index [1] de la variable $$a. La syntaxe pour résoudre cette ambiguïté est la suivante: ${$a[1]} pour le premier cas, et ${$a}[1] pour le deuxième.
mon exemple est censé s'en rapprocher non ? et pourtant, ça marche pas
Marsh Posté le 09-06-2003 à 15:44:52
perso, je pense que ca fnctionne :
Code :
|
confirme si ca fonctionne...
Marsh Posté le 09-06-2003 à 16:46:05
ton truc buggait alors g essayé avec eval, et ça marche !! en fait, le gros pb principal venait du fait kon ne peut pas définir un tableau de la forme :
$case[1] = 'truc';
$case{1][1] = 'machin';
il faut faire :
$case[1][0] = 'truc';
$case[1][1] = 'machin';
pr info, voilà la source :
Code :
|
DocWario a écrit : perso, je pense que ca fnctionne :
|
les pointeurs et adressages ca marche en php maintenant
Marsh Posté le 09-06-2003 à 22:24:32
ben non, ca part en couille mais c pas grave, g réussi à attaquer le pb par un autre coté
Marsh Posté le 08-06-2003 à 20:37:19
Salut,
j'ai un pt pb avec des arrays :
j'extrais d'une table mysql des données de la forme "1-1-2", ou encore "1-3-4-5", (plusieurs chiffres reliés par un tiret, koi). j'aimerais que dans une boucle fetch_array je puisse convertir ces codages en un array unique de la forme $case[1][1][2] (pour le premier exemple évidemment). J'ai pensé le faire avec des variables dynamiques :
(hierarchie correspond à la chaine à convertir)
mais apres exécution, impossible de récupérer ces infos (avec un petit echo $case[1][1][2]), qui ne sont, de toute façon, pas considérées comme des arrays (j'ai vérifié avec un get_defined_vars qui affiche toutes les valeurs de case au cas par cas, au lieu de les regrouper dans un array)...
comment pourrais-je faire ?
---------------
HardGamers.org