ID: 25108 Updated by: [EMAIL PROTECTED] Reported By: mailling at gmx dot co dot uk -Status: Assigned +Status: Open -Bug Type: Scripting Engine problem +Bug Type: Documentation problem Operating System: Windows 2000 PHP Version: 4CVS-2003-08-16 (stable) Assigned To: derick New Comment:
Hmm, this works for me and it returns the correct result: int(1) bool(true) bool(false) It's correct because: if there is no return statement in your include file, an implicit "return 1;" is added. The second require_once does not include anything, so the return 1 is never executed, but instead the return value returns the success of the return_once call. (It was a success because the file could be included the first time). The include_once() fails because the file exists, and thus include_once() returns bool(false). I think you have a "return;" inside your base.inc.php file (or something similar like a die()) and thus the first require_once returns "NULL" (as you're overwriting the default implicit "return 1;". This should definitely be added to the docs though, as they don't even talk about return values from include/require functions. (Atleast I couldn't find it). Derick Previous Comments: ------------------------------------------------------------------------ [2003-08-16 10:34:27] [EMAIL PROTECTED] Having a look at this... ------------------------------------------------------------------------ [2003-08-16 09:32:59] mailling at gmx dot co dot uk Description: ------------ It seems that the variable returned by a correct insert changed from the last PHP version. Is it a change in the behavior or a bug? If I include a file and everything is fine, it returns NULL, but it should return 1 or true (it does true, but the documentation says 1) Reproduce code: --------------- // The file base.inc.php exists, base.inc.php2 doesn't $a = require_once(PROJECT_BASE . '/include/base.inc.php'); $b = require_once(PROJECT_BASE . '/include/base.inc.php'); $c = include_once(PROJECT_BASE . '/include/base.inc.php2'); var_dump($a); // return NULL var_dump($b); // return true var_dump($c); // return false Expected result: ---------------- true (or 1?) true (or 1?) false Actual result: -------------- NULL true false ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=25108&edit=1 -- PHP Documentation Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
