2010-04-14 32 views
13

Stavo solo guardando questo codice e non capisco cosa RETURN TRUE fa o qual è il punto? Qualcuno può spiegare per favore?Cosa fa RETURN TRUE in una funzione PHP?

class Elephpant { 

    public $colour; 

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

Grazie in anticipo ;-)

+14

Hai scritto male "elefante" :) – jemfinch

+3

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

+4

@jemfinch no , la mascotte di PHP è un elefante blu, quindi ElePHPant. Vedi il link di Imran. – Gordon

risposta

12

restituisce il valore booleano TRUE per qualunque chiamata danza(). È tutto.

Dovresti controllare il codice che consuma per vedere se ne ricava qualcosa.

+0

Puoi elaborare qualche possibile esempio di un codice così oneroso? Ho provato e fallito –

+0

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

+0

... e uscita dalla funzione/loop – Strae

6

In quel pezzo di codice specifico - non molto.

In generale, tuttavia, verrà utilizzato per restituire una condizione di convalida o codice che deve restituire un valore positivo o negativo.

Per esempio, si potrebbe procedere come segue:

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

Uargh! Che ne dite di 'return $ isvalid;'? – Leo

+0

@Mef - ha reso l'esempio più chiaro. –

+0

Il commento di @Mef è ancora valido. In questo caso 'return/* Condizione che lo rende vero * /;' farebbe lo stesso. –

1

Logicamente, restituisce il valore booleano VERO, ma in questo caso non ha alcun senso poiché restituirà VERO comunque.

+5

Non vero. Una funzione senza un'istruzione return restituisce 'null', non' true'. –

+0

@Pekka ** questa funzione ** restituisce TRUE comunque. Pertanto, in questo caso non ha senso –

+3

D'accordo con @Pekka, non proprio sicuro di quello che stai dicendo @Col. Shrapnel – Lizard

1

A volte un metodo/funzione restituisce un valore booleano per indicare se l'operazione è riuscita. Nell'esempio dato restituisce sempre "TRUE".

il codice chiamante può quindi agire al completamento di successo del codice

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

1

Si può leggere di più su return qui: http://www.php.net/return

Ci sono alcune applicazioni interessanti return come ritornare valore da include -d file.

2

perché è TRUE, elephpant fa la danza;)

+0

Ma potrei semplicemente chiamare la funzione dance() e ballerebbe indipendentemente di se restituito vero o falso? –