#47320 [Opn->Fbk]: $php_errormsg out of scope in functions
ID: 47320
Updated by: jani@php.net
Reported By: danielc at analysisandsolutions dot com
-Status: Open
+Status: Feedback
Bug Type: Scripting Engine problem
-Operating System:
+Operating System: *
PHP Version: 5.3.0beta1
New Comment:
Compared to what version?
Previous Comments:
------------------------------------------------------------------------
[2009-02-05 23:12:59] danielc at analysisandsolutions dot com
Description:
------------
The scope of $php_errormsg has changed in 5.3. It is no longer
available inside functions.
Perhaps this is intentional, perhaps not. If it is intentional, I
encourage the decision be changed to improve compatibility between
versions.
If it won't be changed, we need to update the 5.3 upgrade guide at
http://wiki.php.net/doc/scratchpad/upgrade/53.
Reproduce code:
---------------
if (!@substr('no 2nd parameter')) {
echo '$php_errormsg in global: ' . $php_errormsg . "\n";
}
function foo() {
if (!@substr('no 2nd parameter')) {
echo '$php_errormsg in function: ' . $php_errormsg . "\n";
echo '$GLOBALS[php_errormsg] in function: ' .
$GLOBALS['php_errormsg'] . "\n";
}
}
foo();
Expected result:
----------------
$php_errormsg in global: substr() expects at least 2 parameters, 1
given
$php_errormsg in function: substr() expects at least 2 parameters, 1
given
$GLOBALS[php_errormsg] in function: substr() expects at least 2
parameters, 1 given
Actual result:
--------------
$php_errormsg in global: substr() expects at least 2 parameters, 1
given
Notice: Undefined variable: php_errormsg in
D:\webroot\ideasphp\Atest.html on line 10
$php_errormsg in function:
$GLOBALS[php_errormsg] in function: substr() expects at least 2
parameters, 1 given
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=47320&edit=1
Thread (6 messages)