2009-05-21 12 views
5

en PHP ¿die() da algo a cambio cuando lo usamos?¿qué devuelve PHP() return

+0

¿En qué idioma? – kquinn

+0

Estoy sospechando de php, ya que tiene esa función, que es un alias de exit(). También sospecho que no devolverá nada, ya que sale del script, pero como no soy un programador de PHP, solo estoy agregando este comentario. –

+2

no devuelve nada. Pero incluso si devuelve algo, ese algo todavía no se puede usar para nada, ya que el script se está cerrando. – andyk

Respuesta

22

En PHP, la función morir() simplemente deja de ejecutar el script e imprime el argumento (si hay alguno).

http://php.net/die

+4

Esto no es del todo exacto.Si die() se llama con un argumento entero, devuelve ese valor. En un contexto web, esto puede no significar mucho. En un script CLI PHP, ese valor de retorno es significativo; está disponible para usar en el caparazón. –

10

¿Por qué no echar un vistazo a la maravillosa documentación de PHP? Incluso contiene información sobre die()

+7

Pobre chico. Tendría que hacer clic * de nuevo * para ver qué devuelve exit(). Spoiler: la respuesta es nula – Stephan202

+0

lo he comprobado pero todavía quería hacer esa pregunta aquí, ya que no estaba muy seguro de que todo lo que he leído es cierto. – developer

+2

Los documentos php son * el * lugar para buscar tales cosas. Nada puede ser más cierto que la información allí, excepto que es un error de documentación (pero si quiere * estar * mejor *, compruebe el sistema de seguimiento de fallas de php y/o ejecute un código de prueba). Por cierto: dado que die() termina la ejecución de PHP, es bastante irrelevante, cuál es el valor de retorno (ya que el programa se detiene en ese punto). – soulmerge

1

No devuelve. La secuencia de comandos finaliza y no se ejecuta nada más.

1

No hay ninguna razón para devolver algo in die/salida. Esta función termina el proceso del intérprete php dentro y devuelve el código de salida al shell. Por lo tanto, después de llamar a die() no hay ejecución del script en la medida en que no haya ningún proceso de interpretación que ejecute el script y es por eso que no hay forma de manejar el retorno de la función.

8

Obviamente, die() o su equivalente exit() no devuelve nada al script en sí; para ser más precisos, este código no tiene mucho sentido:

if (die())) { 
    echo 'are we dead yet?'; 
} 

Sin embargo, dependiendo de lo que pase como el (opcional) argumento de die() o exit(), se hace devolver algo a la persona que llama, es decir, el comando que hizo que tu script se ejecute. Su uso práctico generalmente se limita al cli SAPI, cuando se llama al script desde una línea de comando usando php /path/to/script.php.

Observe:

die('goodbye cruel world'); 

Este código imprimir goodbye cruel world y luego devolver un exit status code de 0, la señalización a la persona que llama que el proceso termina normalmente.

Otro ejemplo:

die(1); 

Cuando se pasa un valor entero en lugar de una cadena, no se muestra nada y el código de estado de salida será 1, lo que indica que la persona que llama que el proceso no terminó normalmente.

Por último, die() sin ningún argumento es el mismo que die(0).

El estado de salida de un proceso se puede cambiar para indicar diferentes tipos de errores que pueden haberse producido, p. 1 significa error general, 2 significa nombre de usuario no válido, etc.

Cuestiones relacionadas