2012-03-19 13 views
5

Non è molto importante ma ero solo curioso di sapere la differenza.restituisce le uscite true 1 ma restituisce false output niente

echo isA("A"); //outputs 1 

echo isA("B"); //outputs nothing. why doesn't it output 0? 

Chiunque può fare un po 'di pietà su questo argomento? Mi sembra un doppio standard quando lo guardi dal punto di vista che gli output "veri" come "1" ma "false" non emettono "0".

Ancora una volta, non è un grosso problema, ma penso che ci sia un motivo per cui PHP deve essere progettato in questo modo. Sapendo che può dare qualche idea in più in questa bellissima lingua.

Un valore vero si manifesterà come un 1 visibile, ma un valore falso non lo farà. Quindi, dimmi qual è il vantaggio di questo metodo?

esempio funzione di cui sopra;

function isA($input){ 
    if ($input == "A"): 
     return true; 
    else: 
     return false; 
    endif; 
} 
+0

Bellissima lingua? Non sono d'accordo (ma sono programmatore PHP pure): P –

+2

@MuhammadAbrar: La bellezza non ha nulla a che fare con questo. – netcoder

risposta

5

Perché quando false è realizzata mediante fusione a stringa diventa '' - stringa vuota.

Per vedere utilizzare la differenza var_dump(); anziché echo

var_dump((string) true); 
var_dump((string) false); 
Problemi correlati