2011-12-13 28 views
30

Duplicar posible:
what are the differences in die() and exit() in PHP?exit(); morir(); falso retorno;

Supongo que la pregunta principal es ¿cuál es la diferencia entre el 3 exactamente?

¿Cuál es el uso semántico correcto para cada uno de estos?

Por lo que veo return false; puede interrumpir una función mientras que die(); y exit(); evitará que cualquier otro código se ejecuta en absoluto .

¿Es esto correcto?

+0

Se ha preguntado antes: http://stackoverflow.com/questions/1795025/what-are-the-differences-in-die-and-exit-in-php – Gigi

+1

Sí, lo tienes correcto. 'return' para funciones,' die()/exit() 'kill script execution. –

+1

no, eso no incluye el retorno :)) – ajreal

Respuesta

29

die() y exit() son exactamente idénticos; detienen todo el programa PHP y regresan al sistema operativo. Son dos nombres diferentes para la misma función.

return, por el contrario, finaliza una llamada de función y regresa a la persona que llama. Al final de un programa, return establece el valor de estado que se devuelve al sistema operativo; el programa va a salir sin importar qué.

+0

Entonces, ¿cuál es la necesidad de dos funciones que hacen exactamente lo mismo, debe haber una razón para esto. – daryl

+8

Solo "azúcar sintáctico". Perl tiene 'die()', y muchos otros lenguajes tienen 'exit()', así que al tener ambos, PHP intenta facilitar la transición entre idiomas, supongo. –

+0

@Brogrammer no del todo. No es una razón importante al menos. Puede ser un problema de compatibilidad, un problema heredado, etc. Cualquiera que sea la razón, no importa de todos modos. –

6

De acuerdo con los documentos PHP: exit Manualdie() es un alias de exit() por lo que hacen la misma función y es END el script.

La instrucción return finaliza una función y no toda la secuencia de comandos, y devuelve el valor que elija.

Cuestiones relacionadas