[PHP] Problème de Fonction / Condition
Résolu
xxkirastarothxx
Messages postés
415
Statut
Membre
-
xxkirastarothxx Messages postés 415 Statut Membre -
xxkirastarothxx Messages postés 415 Statut Membre -
Bonjour à tous,
Je suis en train de développer un chat en php, mais lors de la création je suis tombé sur un problème que je n'arrive ni à comprendre ni à résoudre dans la partie d'envoie de message privé:
$func retourne bien "/w" mais la condition n'est pas remplie puisque 'test' ne s'affiche pas...
... Pourtant si $func retourne "/w" je ne comprends pas comment "/w" n'est pas équivalent à "/w" oO
Voila donc... Help Plz ^^
Je suis en train de développer un chat en php, mais lors de la création je suis tombé sur un problème que je n'arrive ni à comprendre ni à résoudre dans la partie d'envoie de message privé:
<?php
function PremiersMots($MaChaine, $apartir, $jusqua)
{
$ChaineTab=explode(" ",$MaChaine);
for($i=$apartir; $i<$jusqua; $i++)
{
$NouvelleChaine.=" "."$ChaineTab[$i]";
}
return $NouvelleChaine;
}
$func = PremiersMots("/w kira test", 0, 1);
echo $func;
if ($func == "/w"){echo 'test';}
?>
$func retourne bien "/w" mais la condition n'est pas remplie puisque 'test' ne s'affiche pas...
... Pourtant si $func retourne "/w" je ne comprends pas comment "/w" n'est pas équivalent à "/w" oO
Voila donc... Help Plz ^^
Configuration: Windows XP Firefox 2.0.0.15
3 réponses
-
Bonjour.
Essaye en "échappant" le slash :if ($func == "\/w"){echo 'test';} -
Aucun Changement :S
Merci quand même :)
d'autres idées ?-
Bon, après tests :
- $NouvelleChaine.=" "."$ChaineTab[$i]"; me renvoie une erreur (parce que $NouvelleChaine n'est pas défini avant. Peut-être que tu n'as pas ce problème chez toi...)
- J'ai trouvé le "problème" ! Etudions le code, dans le cas PremiersMots("/w kira test", 0, 1)// J'ai rajouté cette ligne pour parer au problème précédent... $NouvelleChaine = ""; $ChaineTab=explode(" ",$MaChaine); // => $ChainTab = Array("/w", "kira", "test") // Vu les paramètres, on n'exécute la boucle qu'une seule fois for($i=$apartir; $i<$jusqua; $i++) { $NouvelleChaine .= " "."$ChaineTab[$i]"; // $NouvelleChaine = " "."$ChaineTab[0]"; // $NouvelleChaine = " "."/w"; // $NouvelleChaine = " /w"; } return $NouvelleChaine;
Tu rajoutes un espace avant le premier mot !
=> $func n'est pas égal à "/w" mais à " /w"
-
-
Oui Merci ça fonctionne, je me viens juste de me rendre compte du ""."$ChaineTab[i]"
Merci Beaucoup :)
Résolu.