Solo dos apuntes, return no es una funcion, segun php.net es un constructor del lenguaje.
Y otra cosa, 1 es igual a TRUE, y 0 es igual a FALSE, por lo tanto:
return 1; //Es lo mismo que
return true;
return 0; //Es lo mismo que
return false;
La estructura de control if no mira si lo devuelto es 1 o 0, busca un valor booleano TRUE o FALSE.
if(condicion) {
echo "Esto pasaria si condicion devolviese TRUE";
} else {
echo "Por lo contrario, esto pasaria si condicion devolviese FALSE";
}
Estaria bien que actualizaras tu guia con estos apuntes, y cuando lo hagas modificare mi mensaje!
Saludos!