Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/12/2010, 16h20   #1
Candidat au titre de Membre du Club
 
Inscription : juillet 2010
Messages : 78
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 78
Points : 13
Points : 13
Par défaut switch case non vérifié

Bonjour,

J'ai un soucis avec un switch case sur une string. (la string provient d'un flux XML parsé avec simplexml)

Mon soucis vient du fait que "case 'Crêperie - Snack - Pizzéria'" n'est jamais vrai.

Ligne du flux XML incriminée:
Code :
1
2
 
<CATEGORIE>Crêperie - Snack - Pizzéria</CATEGORIE>
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
foreach ($fluxXml->$path as $articles)
	{
 
		switch($articles->CATEGORIE)
		{
			case 'Restaurants d\'altitude':
			$sousmenu_id = '200';
			break;
 
			case 'Bars - Restaurants':
			$sousmenu_id = '300';
			break;
 
			case 'Crêperie - Snack - Pizzéria':
			$sousmenu_id = '400';
			break;
		}
Si quelqu'un a une idée, je suis preneur

Merci beaucoup par avance
flo73 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 16h24   #2
Membre éprouvé
 
Avatar de radicaldreamer
 
Homme Guillaume
Développeur Web
Inscription : décembre 2007
Messages : 353
Détails du profil
Informations personnelles :
Nom : Homme Guillaume
Âge : 21
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 353
Points : 473
Points : 473
Fais un echo de $articles->CATEGORIE Et vérifie la valeur.

Peut-être un problème d'accent? Vu que c'est la seule "case" avec des accents..
__________________
Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi.

- Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre
radicaldreamer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 16h31   #3
Candidat au titre de Membre du Club
 
Inscription : juillet 2010
Messages : 78
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 78
Points : 13
Points : 13
Déjà fait, j'ai même fait un copier/coller de l'echo dans mon case pour être certain........
flo73 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 16h34   #4
Membre éprouvé
 
Avatar de radicaldreamer
 
Homme Guillaume
Développeur Web
Inscription : décembre 2007
Messages : 353
Détails du profil
Informations personnelles :
Nom : Homme Guillaume
Âge : 21
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 353
Points : 473
Points : 473
Je pense toujours que ça doit être une erreur d'accent mal interprété ou qqc du genre.

Essaye de virer les accents de Crêperie et Pizzéria. Fait un test.... Vu que les deux autres fonctionnent et n'ont pas d'accents ...
__________________
Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi.

- Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre
radicaldreamer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 16h40   #5
Candidat au titre de Membre du Club
 
Inscription : juillet 2010
Messages : 78
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 78
Points : 13
Points : 13
Moi aussi je pense que c'est un problème d'accent.
Comment est-ce que je peux contourner le soucis?

Je pensais que des tests sur des string avec caractères spéciaux fonctionnaient?

Merci pour votre réponse
flo73 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 16h45   #6
Membre éprouvé
 
Avatar de radicaldreamer
 
Homme Guillaume
Développeur Web
Inscription : décembre 2007
Messages : 353
Détails du profil
Informations personnelles :
Nom : Homme Guillaume
Âge : 21
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 353
Points : 473
Points : 473
Bah normalement ça devrait marcher même avec des accents mais bon...

Essaye:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
$test = 'Crêperie - Snack - Pizzéria';
		switch($test)
		{
			case 'Restaurants d\'altitude':
			$sousmenu_id = '200';
			break;
 
			case 'Bars - Restaurants':
			$sousmenu_id = '300';
			break;
 
			case 'Crêperie - Snack - Pizzéria':
			$sousmenu_id = '400';
			break;
		}
Un autre test:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
$test = 'Creperie - Snack - Pizzeria';
		switch($test)
		{
			case 'Restaurants d\'altitude':
			$sousmenu_id = '200';
			break;
 
			case 'Bars - Restaurants':
			$sousmenu_id = '300';
			break;
 
			case 'Creperie - Snack - Pizzeria':
			$sousmenu_id = '400';
			break;
		}
__________________
Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi.

- Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre
radicaldreamer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 17h03   #7
Candidat au titre de Membre du Club
 
Inscription : juillet 2010
Messages : 78
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 78
Points : 13
Points : 13
Hé hé hé....Les deux fonctionnent!
C'est fou ça

Pour trouver la raison....Ca va être une autre affaire
flo73 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 17h10   #8
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
Bonjour,

quand tu fais un :

Code php :
1
2
3
echo '<pre>';
var_dump($fluxXml->$path);
echo '</pre>';

avant le foreach, ça donne quoi ?

peut être y a t il des espaces ou caractères en trop ?

essayé avec un trim ?
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 17h26   #9
Candidat au titre de Membre du Club
 
Inscription : juillet 2010
Messages : 78
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 78
Points : 13
Points : 13
Bonjour et merci pour la réponse....

No way:

object(SimpleXMLElement)#14 (1) {
[0]=>
string(29) "Crêperie - Snack - Pizzéria"
}

idem avec trim

Je sèche.......
flo73 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 18h25   #10
Candidat au titre de Membre du Club
 
Inscription : juillet 2010
Messages : 78
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 78
Points : 13
Points : 13
La solution si ça peut aider qq un:
Code :
1
2
3
4
 
case utf8_encode('Crêperie - Snack - Pizzéria'):
$sousmenu_id = '400';
break;
flo73 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 18h45   #11
Membre éprouvé
 
Avatar de radicaldreamer
 
Homme Guillaume
Développeur Web
Inscription : décembre 2007
Messages : 353
Détails du profil
Informations personnelles :
Nom : Homme Guillaume
Âge : 21
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 353
Points : 473
Points : 473
J'y avais pensé mais ça affichait des caractères bizarres différents de la chaine crêperie etc... alors j'avais mis de coté :/

Content d'avoir pu t'aider.
__________________
Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi.

- Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre
radicaldreamer est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h04.


 
 
 
 
Partenaires

Hébergement Web