2011-12-13 11 views
30

Eventuali duplicati:
what are the differences in die() and exit() in PHP?exit(); morire(); restituisce falso;

Credo che la domanda principale è che cosa è la differenza tra il 3 esattamente?

Qual è l'utilizzo semantico corretto per ognuno di questi?

Da quello che vedo return false; può interrompere una funzione, mentre die(); e exit(); impedirà ogni ulteriore codice in esecuzione affatto.

È corretto?

+0

E 'stato chiesto prima: http://stackoverflow.com/questions/1795025/what-are-the-differences-in-die-and-exit-in-php – Gigi

+1

Sì, lo avete corretto. 'return' for functions,' die()/exit() 'uccide l'esecuzione dello script. –

+1

no, che non include il ritorno :)) – ajreal

risposta

29

die() e exit() sono esattamente identici; fermano l'intero programma PHP e ritornano al sistema operativo. Sono due nomi diversi per la stessa funzione.

return, d'altra parte, termina una chiamata di funzione e torna al chiamante. Alla fine di un programma, return imposta il valore dello stato che viene restituito al sistema operativo; il programma sta per uscire, non importa cosa.

+0

Quindi qual è la necessità di due funzioni che fanno esattamente la stessa cosa, deve esserci una ragione per questo. – daryl

+8

Solo "zucchero sintattico". Perl ha 'die()', e molti altri linguaggi hanno 'exit()', quindi, avendo entrambi, PHP cerca di rendere più facile la transizione tra le lingue, suppongo. –

+0

@Brogrammer non del tutto. Non una ragione significativa almeno. Può essere un problema di compatibilità, un problema precedente, ecc. Qualunque sia la ragione per cui può essere - non importa comunque. –

6

Secondo i documenti PHP: exit Manualdie() è un alias per exit() in modo che facciano la stessa funzione e che sia per FINE lo script.

L'istruzione return termina una funzione e non l'intero script e restituisce il valore scelto.