2012-03-19 15 views
5

No es muy importante, pero tenía curiosidad por saber la diferencia.devuelve salidas verdaderas 1 pero devuelve salidas falsas nada

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

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

¿Alguien puede arrojar algo de luz sobre este asunto? Me parece un doble estándar cuando lo miras desde el punto de vista de que las salidas "verdaderas" como "1" pero "falso" no dan como resultado "0".

Una vez más, no es gran cosa, pero creo que debe haber una razón para que PHP se diseñe así. Sabiendo eso puede dar una idea más de este hermoso lenguaje.

Un valor verdadero se manifestará como un 1 visible, pero un valor falso no lo hará. Entonces, dime ¿cuál es la ventaja de este método?

ejemplo de función A que me refería anteriormente;

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

¿Un hermoso idioma? No estoy de acuerdo (pero también soy programador de PHP): P –

+2

@MuhammadAbrar: La belleza no tiene nada que ver con esto. – netcoder

Respuesta

5

Porque cuando false es fundido a cadena se convierte en '' - cadena vacía.

para ver la diferencia utilizar var_dump(); en lugar de echo

var_dump((string) true); 
var_dump((string) false);