gvosnet Posté(e) le 13 juillet 2006 Partager Posté(e) le 13 juillet 2006 Hello, Je viens de tomber sur du code PHP dont je ne comprends pas trop la signification... Dans ce bout de code : $pos = strrpos($machaine, "b"); if ($pos === false) { (...) blablabla (...) } Que signifient les 3 signes égal (=) dans le test ? Le problème, c'est que je n'arrive pas à trouver de réponse avec Google (pas évident une recherche avec des symboles dans Google....). Ca doit être tout con, mais je trouve pas. Si vous avez une réponse, elle est la bienvenue Lien vers le commentaire Partager sur d’autres sites More sharing options...
gvosnet Posté(e) le 13 juillet 2006 Auteur Partager Posté(e) le 13 juillet 2006 Ok, je viens de trouver : $a == $b Egal TRUE si $a est égal à $b. $a === $b Identique TRUE si $a est égal à $b et qu'ils sont de même type (introduit en PHP 4). Je mets en résolu. Lien vers le commentaire Partager sur d’autres sites More sharing options...
FiP_ Posté(e) le 13 juillet 2006 Partager Posté(e) le 13 juillet 2006 Petit ajout: C'est utile pour les fonctions qui peuvent retourner soit un boolen soit un entier, comme la fontion str_pos (cherche une chaine dans une autre) Si la chaine est trouvée, str_pos retourne un nombre, correspondant à la position où se trouve la chaine recherchée dans l'autre. La fonction retourne false si la chaine n'est pas trouvée. On pourrait donc faire if str_pos(...) == false echo 'la chaine n\'a pas été trouvée'; Pourtant, un probléme apparait si la chaine recherchée est tout au début de la seconde chaine: comme 'toto' dans 'totoro'. str_pos('toto','totoro') retournera donc 0, et dans le code précedent, le 0 sera transformé en "false"! le texte "la chaine n'a pas été trouvée" sera donc affiché, alors que la chaîne etait bien là. le triple symbole "=" permet d'éviter les castages automatiques sauvages ^^; Lien vers le commentaire Partager sur d’autres sites More sharing options...
trigunheat Posté(e) le 26 juillet 2006 Partager Posté(e) le 26 juillet 2006 Ca peut aussi permettre de comparer deux valeurs d'instances différentes. Disons que : $objet1 = new laclass(); $var1 = $objet1->methode('attribut1'); //on dira que var1 est égal à toto on fait la même chose mais en créant une nouvelle instance $objet2 = new laclass(); $var2 = $objet2->methode('attribut1'); //var2 sera également égale à toto mais si on fait if($var1 === $var2) //ça renvoit false. Pour être plus clair : http://www.php.net/manual/en/language.oop5...-comparison.php Lien vers le commentaire Partager sur d’autres sites More sharing options...
FiP_ Posté(e) le 14 août 2006 Partager Posté(e) le 14 août 2006 Ca peut aussi permettre de comparer deux valeurs d'instances différentes. (...) http://www.php.net/manual/en/language.oop5...-comparison.php Ah ouais tiens! Je ne savais pas merci pour ces précisions. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.