Problème avec un tableau en array

cs_Kaeru Messages postés 26 Date d'inscription mercredi 28 mai 2003 Statut Membre Dernière intervention 3 décembre 2004 - 21 nov. 2004 à 01:25
cs_Kaeru Messages postés 26 Date d'inscription mercredi 28 mai 2003 Statut Membre Dernière intervention 3 décembre 2004 - 21 nov. 2004 à 19:13
Bonjour,

j'ai un tableau qui fonctionne avec un array et je voudrai y incorporer un systeme qui cherche dans une table un résultat. En fonction de ce résultat un echo apparait avec la réponse.

voici le code que j'ai pour le moment mais qui ne fonctionne pas.

$temp = array(
"Sexe",span(" ".$liste_sexe[$this->Sexe],"race"),
"test",span(
if($liste_sexe==0){
echo "test homme";
}
elseif($liste_sexe==1){
echo "test femme";
}
else($liste_sexe==2){
echo "test hermaphrodyte";
}),
"Lieu",span($this->Lieu->Nom,"lieu"),
);

La partie qui commence à "test",span( et qui finie à }), est la partie qui me pose problème. Impossible de faire apparaitre l'echo dans la case.

Si quelqu'un pouvait m'aider ça serais vraiment génial.

Merci d'avance.

7 réponses

mixo11 Messages postés 20 Date d'inscription samedi 20 novembre 2004 Statut Membre Dernière intervention 28 janvier 2005
21 nov. 2004 à 10:21
Salut, il y a quelquechose de bizarre dans ton code :

tu utilises $liste_sexe comme une tableau d'une part avec :
$liste_sexe[$this->Sexe] et de l'autre tu fait des tests sur :
$liste_sexe .. qui lui est un array .... Problème surement. Tu as pas de Warnings quand tu affiches ?
0
cs_Kaeru Messages postés 26 Date d'inscription mercredi 28 mai 2003 Statut Membre Dernière intervention 3 décembre 2004
21 nov. 2004 à 12:33
à la base le tableau permet d'afficher les stats de son personnage dans un jeu.
ce tableau liste le nom, la race, le sexe, etc...
Le tableau en entier ressemble à celà::
$temp = array(
"Nom",span($this->Nom,"pj"),
"Race",span($this->Race." ".$liste_race[$this->Sexe],"race"),
"Sexe",span(" ".$liste_sexe[$this->Sexe],"race"),
"Lieu",span($this->Lieu->Nom,"lieu"),
);

Et j'y ait ajouté une case "Test" pour pouvoir tester comment afficher le résultat mais comme je suis pas très fort en php je n'y arrive pas du tout.
0
mixo11 Messages postés 20 Date d'inscription samedi 20 novembre 2004 Statut Membre Dernière intervention 28 janvier 2005
21 nov. 2004 à 12:39
Donc c'est bien ce que je dis :

Dans tes tests genre i($liste_sexe == 2) c'est pas bon du tout
puisque le TYPE de la variable ^liste_sexe est un array.
Donc par conséquent tu dois tester une valeur dans ton array genre :
i($liste_sexe[$this->sexe] == 2)
la ca fonctionnera.

--
"Marco mal se pasejo"
0
cs_Kaeru Messages postés 26 Date d'inscription mercredi 28 mai 2003 Statut Membre Dernière intervention 3 décembre 2004
21 nov. 2004 à 14:40
j'ai déjà essayé de faire ça avec des if mais ça posais problème.
je sais pas comment incorporer les if dans un tableau array.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Kaeru Messages postés 26 Date d'inscription mercredi 28 mai 2003 Statut Membre Dernière intervention 3 décembre 2004
21 nov. 2004 à 14:45
Je viens de faire ça pour tester:
"testSexe",span(if($liste_sexe[$this->Sexe] == 2){
echo "test hermaphrodyte";}
),

j'ai l'erreur suivante:
Parse error: parse error, unexpected T_IF, expecting ')' in /var/www/free.fr/0/8/url/test.php on line 824
0
mixo11 Messages postés 20 Date d'inscription samedi 20 novembre 2004 Statut Membre Dernière intervention 28 janvier 2005
21 nov. 2004 à 14:51
Tu peux faire un, tableau annexe genre :
tab[1] = 'test1'
tab[2] = 'test2'
tab[3] = 'test3'
et apres tu fais :
("testSexe",$tab[$liste_sexe[$this->Sexe]]
),

Bon c'est une façon de contourner ton probleme . Cependant nopte qu'il existe desfonctions du style :
in_array
array_key_exists
array_search
[...]

bon courage.

--
"Marco mal se pasejo"
0
cs_Kaeru Messages postés 26 Date d'inscription mercredi 28 mai 2003 Statut Membre Dernière intervention 3 décembre 2004
21 nov. 2004 à 19:13
oui oui mais le problème serais plutot de savoir comment je peut insérer une série de if.
0
Rejoignez-nous