mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
This restricts allowed usage of $GLOBALS, with the effect that plain PHP arrays can no longer contain INDIRECT elements. RFC: https://wiki.php.net/rfc/restrict_globals_usage Closes GH-6487.
53 lines
761 B
PHP
53 lines
761 B
PHP
--TEST--
|
|
Supported operations on $GLOBALS
|
|
--FILE--
|
|
<?php
|
|
|
|
function test() {
|
|
var_dump($GLOBALS['x']);
|
|
$GLOBALS['x'] = 1;
|
|
var_dump($GLOBALS['x']);
|
|
$GLOBALS['x']++;
|
|
var_dump($GLOBALS['x']);
|
|
$GLOBALS['x'] += 2;
|
|
var_dump($GLOBALS['x']);
|
|
unset($GLOBALS['y']);
|
|
var_dump(isset($GLOBALS['x']));
|
|
var_dump(isset($GLOBALS['y']));
|
|
$GLOBALS['z'][] = 1;
|
|
}
|
|
|
|
$y = 1;
|
|
test();
|
|
var_dump($x, $y, $z);
|
|
|
|
$ref = 1;
|
|
$GLOBALS['z'] =& $ref;
|
|
$ref++;
|
|
var_dump($z);
|
|
|
|
$x = 1;
|
|
$ref2 =& $GLOBALS['x'];
|
|
$ref2++;
|
|
var_dump($x);
|
|
|
|
?>
|
|
--EXPECTF--
|
|
Warning: Undefined global variable $x in %s on line %d
|
|
NULL
|
|
int(1)
|
|
int(2)
|
|
int(4)
|
|
bool(true)
|
|
bool(false)
|
|
|
|
Warning: Undefined variable $y in %s on line %d
|
|
int(4)
|
|
NULL
|
|
array(1) {
|
|
[0]=>
|
|
int(1)
|
|
}
|
|
int(2)
|
|
int(2)
|