Cita:
Iniciado por Italico76 En PHP false no se puede convertir en 0 como en otros lenguajes, ni existe funcion para hacer el casting y si se hiciera generaria inconcistencias seguramente.
¿Que no se puede castear false a 0 entero?
Código PHP:
Ver originalecho false > -1; // false
echo (int)false > -1; // true
Cita:
Iniciado por Italico76 Si 0 es false, los enteros negativos deberian ser todos false
Para nada, la definición de false es justamente not true
Entonces los boleanos nacen como una mera abreviación binaria, cumpliendo con el
paradigma declarativo
false, 0
true, not false
En tu ejemplo:
-1 es false?
no
entonces true
Tambien quiero remarcar mucho cuidado con los operadores AND y OR que no son lo mismo que || y &&, su operación y precedencia de ejecución son completamente distintas.
$a = 2 || 0; //boolean true
$b = 2 OR 0; //int 2
var_dump($a, $b);
$a2 = 1 && 0; //boolean false
$b2 = 1 AND 0; //int 1
var_dump($a2, $b2);