Como concepto tal vez sea un poco diferente, el hecho de que no pongas un valor de retorno en una funcion es el equivalente de
void en C y similares, es decir, NO HAY UN VALOR DE RETORNO y es por eso que var_dump(funcion()); imprime
null, al igual que lo hace con variables no definidas.