2010-04-14 4 views
13

Je regardais juste ce code et je ne comprends pas ce que RETURN TRUE fait ou quel est le problème? Quelqu'un peut-il expliquer s'il vous plaît?Que fait RETURN TRUE dans une fonction PHP?

class Elephpant { 

    public $colour; 

    public function dance() { 
     echo "elephpant dances!\n"; 
     return true; 
    } 
} 

Thankyou à l'avance ;-)

+14

Vous avez mal orthographié "éléphant" :) – jemfinch

+3

http://carsonified.com/blog/dev/getting-started-with-oop-php5/ – Imran

+4

@jemfinch pas , la mascotte de PHP est un éléphant bleu, donc ElePHPant. Voir le lien d'Imran. – Gordon

Répondre

12

Il retourne le booléen TRUE à tout ce qui appelle la danse(). C'est tout.

Vous devriez regarder le code consommateur pour voir s'il en tire quelque chose.

+0

Pouvez-vous élaborer un exemple possible d'un code aussi consommateur? J'ai essayé et échoué –

+0

@Shrapnel $ hasDanced = $ elephpant-> dance(); – Gordon

+0

... et quitte la fonction/boucle – Strae

6

Dans ce morceau de code spécifique - pas beaucoup.

En général, cependant, il serait utilisé pour renvoyer une condition d'une validation ou un code qui doit retourner soit un positif ou un négatif.

Par exemple, on pourrait faire ce qui suit:

public function isValidEmail($email) { 
    // do work to see if email is valid 
    if(/* Condition making it true */) 
     return true; 
    else 
     return false; 
} 
+3

Uargh! Que diriez-vous de 'return $ isvalid;'? – Leo

+0

@Mef - a rendu l'exemple plus clair. –

+0

La remarque de @Mef est toujours valable. Dans ce cas, return/* Condition rendant cela vrai * /; 'ferait la même chose. –

1

Logiquement, renvoie la valeur booléenne TRUE, mais dans ce cas n'a aucun sens car elle retournera TRUE de toute façon.

+5

Pas vrai. Une fonction sans instruction de retour renvoie 'null', pas' true'. –

+0

@Pekka ** cette ** fonction renvoie TRUE de toute façon. Par conséquent, dans ce cas n'a aucun sens –

+3

D'accord avec @Pekka, pas vraiment sûr de ce que vous dites @Col. Shrapnel – Lizard

1

Parfois une méthode/fonction renvoie une valeur booléenne pour indiquer si l'opération a été réussie. Dans l'exemple donné, il retourne toujours "TRUE".

Le code appelant peut alors agir à la fin succesfull du code

if(dance()) echo "succes" else echo "fails"

1

Vous pouvez en savoir plus sur return ici: http://www.php.net/return

Il y a quelques applications intéressantes de return comme valeur de retour de include -d fichier.

2

parce qu'il est TRUE, elephpant ne danse;)

+0

Mais pourrais-je juste appeler la fonction dance() et ça danserait de si c'est vrai ou faux? –

Questions connexes