Deberías mirar el link del manual que te están pasando...
Entendamos esto:
Cita: -1 es conisderado TRUE, como cualquier otro valor numérico difernete de cero (sea negativo o positivo).
En PHP, a diferencia de otroso lenguajes, sólo cero (0) es FALSE Adicionalmente sifnifica que si lo que recibes es una cadena de texto, y esta no contienen un cero ('0'), entonces también será un FALSE, aunque esta cadena tenga un valor NULL.
Tienes que ponerte en el contexto del PHP y olvidarte de lo que encuentras en otros lenguajes. Sonas reglas de PHP las que mandan.
Manual de referencia:
Cita: Cuando se realizan conversiones a boolean, los siguientes valores son considerados FALSE:
el boolean FALSE mismo
el integer 0 (cero)
el float 0.0 (cero)
el valor string vacío, y el string "0"
un array con cero elementos
un object con cero variables miembro (sólo en PHP 4)
el tipo especial NULL (incluyendo variables no definidas)
objetos SimpleXML creados desde etiquetas vacías
Nota: Cuando asignas una cadena vacía, y lo validas en un IF, evalua si la variable no es NULL, por lo que el resultado en un IF() es TRUE:
Esto puede generar algunas confusiones.