Aller au contenu

A quoi sert le "!" dans cette fonction ? HELP :(((


Sujets conseillés

Posté (modifié)

Bonjour,

La question est dans le code.

MErci d'avance :oops:

<?php
function dir_texte($qui, $texte='bonjour'){
if(empty($qui)){
return FALSE;
}else{
echo "$texte $qui <br />";
return TRUE;
}
}

A quoi sert le point d'exclamation ici ???

//dir_texte('bill');
if(!dir_texte("")){
echo "erreur<br />";
}
if(!dir_texte("bill")){

}
?>

Est ce que le symbole ! ne veut pas dire "différent de", je ne comprends pas trop avec le cas ci dessus :(:(:(:(

Modifié par gto55
Posté

Bonjour,

D'où sort ce code ? Enfin, je reformule... Tu l'as copié tel-quel du fichier à ici, ou tu as viré des parties dedans ? Parce que copié comme tel, il ne sert strictement à rien, effectivement.

Enfin bon, là le programme renvoie erreur si dir_texte renvoie FALSE... En fait, le "!" sert à demander si la fonction renvoie le contraire de 1, donc 0 (FALSE) pour un boolean..

Il est sensiblement mieux de mettre "if (dir_texte == FALSE)" qui est plus compréhensible !

M'enfin je t'avoue qu'avec le code que tu as copié, le programme me semble bizarre.

Posté

c'est un éxemple du livre php5 avancé sur le test de la valeur de retour lors de l'appel d'une fonction

Posté

En Php le ! correspond à l'opérateur booléen NOT. A ne pas confondre avec != qui signifie "différent" (Not égal).

Benoit

Posté

Bonjour,

Ce sont de vieilles utilisations de code, qui ne sont pas totalement correctes. Je n'ai pas la totalité de ton code, mais je pense qu'elles vérifient soit que la variable retournée par la fonction existe, en testant si elle est différente de vide, voire de FALSE.

Il vaudrait mieux écrire :

//dir_texte('bill');
if(is_null(dir_texte("")) || dir_texte("") === FALSE){
echo "erreur<br />";
}
if(is_null(dir_texte("bill")) || dir_texte("bill") === FALSE){

}

En fait, regarde ce que ta fonction dir_texte retourne, et choisis soit is_null si elle retourne NULL ou rien, soit FALSE si elle retourne FALSE.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...