exit

(PHP 4, PHP 5, PHP 7, PHP 8)

exitTerminar el script en curso con un código de estado o un mensaje

Descripción

exit(string|int $status = 0): never

Termina el script actual. Las funciones de cierre y los destructores de objetos siempre se ejecutarán incluso si exit es llamado. Sin embargo, los bloques finally nunca se ejecutan.

Un código de salida de 0 se utiliza para indicar que el programa ha completado sus tareas correctamente. Cualquier otro valor indica que ocurrió un error durante la ejecución.

exit() es una función especial, ya que dispone de un token dedicado en el analizador sintáctico. Puede ser utilizada como una instrucción (es decir, sin paréntesis) para terminar el script con el código de estado por defecto.

Precaución

No es posible desactivar o crear una función en un espacio de nombres que reemplace la función global exit().

Parámetros

status
Si status es un string, esta función muestra status justo antes de salir. El código de salida devuelto por PHP es 0.

Si status es un int, el código de salida devuelto por PHP será status.

Nota: Los códigos de salida deben estar comprendidos entre 0 y 254. El código de salida 255 está reservado por PHP y no debe ser utilizado.

Advertencia

Antes de PHP 8.4.0, exit() no respetaba la lógica habitual de manipulación de tipos de PHP ni la declaración strict_types.

Cualquier valor no int era convertido a string, incluyendo los valores de tipo resource y array. A partir de PHP 8.4.0, la función sigue la gestión estándar de tipos y genera una TypeError para los valores no válidos.

Valores devueltos

Como esta función termina el script PHP, ningún valor es devuelto.

Historial de cambios

Versión Descripción
8.4.0 exit() es ahora una verdadera función, por lo tanto sigue la lógica habitual de manipulación de tipos, es afectada por la declaración strict_types, puede ser llamada con argumentos nombrados y ser utilizada como una función variable.

Ejemplos

Ejemplo #1 Ejemplo básico de la función exit()

<?php

// salir del programa normalmente
exit();
exit(
0);

// salir con un código de error
exit(1);

?>

Ejemplo #2 Ejemplo de exit() con un string

<?php

$filename
= '/path/to/data-file';
$file = fopen($filename, 'r')
or exit(
"no se puede abrir el archivo ($filename)");
?>

Ejemplo #3 Ejemplo de ejecución de funciones de cierre y destructores de objetos

<?php
class Foo
{
public function
__destruct()
{
echo
'Destructor : ' . __METHOD__ . '()' . PHP_EOL;
}
}

function
shutdown()
{
echo
'Cierre : ' . __FUNCTION__ . '()' . PHP_EOL;
}

$foo = new Foo();
register_shutdown_function('shutdown');

exit();
echo
'Esto nunca será mostrado.';
?>

El resultado del ejemplo sería:

Cierre : shutdown()
Destrucción : Foo::__destruct()

Ejemplo #4 exit() como instrucción

<?php

// salir del programa normalmente con el código de salida 0
exit;

?>

Notas

Advertencia

A partir de PHP 8.4.0, exit() era una construcción del lenguaje y no una función, por lo tanto no era posible llamarla utilizando funciones variables, o argumentos nombrados.

Ver también