array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'pt_BR', ), 'this' => array ( 0 => 'function.exit.php', 1 => 'exit', ), 'up' => array ( 0 => 'ref.misc.php', 1 => 'Misc. Funções', ), 'prev' => array ( 0 => 'function.eval.php', 1 => 'eval', ), 'next' => array ( 0 => 'function.get-browser.php', 1 => 'get_browser', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'pt_BR', 'path' => 'reference/misc/functions/exit.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
exit — Mostra uma mensagem e termina o script atual
Termina a execução do script.
Funções de desligamento
e destruidores de objeto
sempre serão executados mesmo que exit
seja chamada.
exit
é uma construção de linguagem e pode ser chamada
sem parênteses se status
não foi informado.
status
Se status
for uma string, a função mostra
status
logo antes de sair.
Se status
for um int, este valor será
usado como o estado da saída e não será mostrado Estados de saída devem estar
no intervalo de 0 a 254, o estado de saída 255 é reservado pelo PHP e não deve
ser usado. O estado 0 é usado para terminar o programa
com sucesso.
Nenhum valor é retornado.
Exemplo #1 Exemplo de exit
<?php
$filename = '/path/to/data-file';
$file = fopen($filename, 'r')
or exit("unable to open file ($filename)");
?>
Exemplo #2 Exemplo de exit
com estado de saída
<?php
//sai do programa normalmente
exit;
exit();
exit(0);
//sai com código de erro
exit(1);
exit(0376); //octal
?>
Exemplo #3 Desligamento de funções e destruidores de objeto são executados independentemente
<?php
class Foo
{
public function __destruct()
{
echo 'Destruidor: ' . __METHOD__ . '()' . PHP_EOL;
}
}
function shutdown()
{
echo 'Desligamento: ' . __FUNCTION__ . '()' . PHP_EOL;
}
$foo = new Foo();
register_shutdown_function('shutdown');
exit();
echo 'Este texto não será mostrado.';
?>
O exemplo acima produzirá:
Desligamento: shutdown() Destruidor: Foo::__destruct()
Nota: Como esta é uma construção da linguagem e não uma função, ela não pode ser chamada usando funções variáveis ou argumentos nomeados.
Nota:
Esta construção de linguagem é equivalente a die().