Amigos...
En mi script PHP tengo algo así (adaptado):
Código PHP:
$a = $_POST['a']; // a = (int) 0
if(empty($a)){ echo "error"; }
¡Estoy enviando un cero!

¿Por qué PHP entiende que está vacío? Además, también piensa que no está definido, que es nulo, etc, etc, etc...
¿Qué ignoro?¿Qué hago mal?