Verschil tussen exit; / exit(); / break;
- exit;
- exit();
- break;
In iedergeval geval maken die haakjes bij exit totaal geen verschil.
Break; word gebruikt in loops enz. en stopt het huidige code blokje voordat hij het andere stukje code leest
Corrigeer me als ik fout ben
exit("Het script is gestopt");
Doordat we netjes met if/else kunnen controleren is het gebruik van exit/die vaak overbodig.
PHP MODEV op 06/07/2015 07:50:20:
Break; word gebruikt in loops enz. en stopt het huidige code blokje voordat hij het andere stukje code leest
Ter informatie : Zo'n uitgevoerd 'codeblokje' heet een iteratie.
Gewijzigd op 06/07/2015 08:38:19 door - Ariën -
Dit mag:
Maar de volgende dingen mogen dus niet:
Uit https://github.com/php/php-src/blob/master/Zend/zend_language_parser.y :
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
| T_EXIT exit_expr { $$ = zend_ast_create(ZEND_AST_EXIT, $2); }
// en verderop
exit_expr:
/* empty */ { $$ = NULL; }
| '(' optional_expr ')' { $$ = $2; }
;
// en verderop
| T_RETURN optional_expr ';' { $$ = zend_ast_create(ZEND_AST_RETURN, $2); }
// en verderop
exit_expr:
/* empty */ { $$ = NULL; }
| '(' optional_expr ')' { $$ = $2; }
;
// en verderop
| T_RETURN optional_expr ';' { $$ = zend_ast_create(ZEND_AST_RETURN, $2); }
Raar taaltje, dat PHP. Nog een opmerking over exit:
Als je een string als argument geeft, eindigt PHP met 0 als statuscode (niets aan de hand) en echo't de string. Als je het een integer als argument geeft, eindigt PHP met die integer als statuscode, zonder iets te echo'en:
Code (php)
1
2
3
4
5
2
3
4
5
pim$ php -r 'exit("abc");'; echo " $?" // => abc 0
pim$ php -r 'exit(1);'; echo " $?" // => abc 1
// Ook leuk, dankzij het overflowen van de exit status:
pim$ php -r 'exit(-1);'; echo " $?" // => 255
pim$ php -r 'exit(1);'; echo " $?" // => abc 1
// Ook leuk, dankzij het overflowen van de exit status:
pim$ php -r 'exit(-1);'; echo " $?" // => 255
Gewijzigd op 06/07/2015 14:49:55 door Pim -