Cannot re-assign auto-global variable %s¶
Description¶
It is not possible to use one of the superglobal variable names as argument of a method: such code hides the assignation that happens at call time, which will interfere with the $_POST
variable being a global. Hence, such syntax is forbidden.
The error is not emitted when the same superglobal variables are used as variables, as it may be legit code.
This applies to all PHP superglobal, such as $_ENV
, $GLOBALS
, or $_POST
. See the full list in annex.
Example¶
<?php
function foo($_POST) {
}
?>
Literal Examples¶
Cannot re-assign auto-global variable $_POST
Solutions¶
Use a parameter anme that is not a superglobal or a special PHP variable.