📄 bug25708.phpt
字号:
--TEST--Bug #25708 (extract($GLOBALS, EXTR_REFS) mangles $GLOBALS)--FILE--<?phpfunction foo($ref, $alt) { unset($GLOBALS['a']); unset($GLOBALS['b']); $GLOBALS['a'] = 1; $GLOBALS['b'] = 2; $org_a = $GLOBALS['a']; $org_b = $GLOBALS['b']; if ($ref) { global $a, $b; } else { /* zval temp_var(NULL); // refcount = 1 * a = temp_var[x] // refcount = 2 */ $a = NULL; $b = NULL; } debug_zval_dump($a, $b, $GLOBALS['a'], $GLOBALS['b']); echo "--\n"; if ($alt) { $a = &$GLOBALS['a']; $b = &$GLOBALS['b']; } else { extract($GLOBALS, EXTR_REFS); } debug_zval_dump($a, $b, $GLOBALS['a'], $GLOBALS['b']); echo "--\n"; $a = &$GLOBALS['a']; $b = &$GLOBALS['b']; debug_zval_dump($a, $b, $GLOBALS['a'], $GLOBALS['b']); echo "--\n"; $GLOBALS['b'] = 3; debug_zval_dump($a, $b, $GLOBALS['a'], $GLOBALS['b']); echo "--\n"; $a = 4; debug_zval_dump($a, $b, $GLOBALS['a'], $GLOBALS['b']); echo "--\n"; $c = $b; debug_zval_dump($b, $GLOBALS['b'], $c); echo "--\n"; $b = 'x'; debug_zval_dump($a, $b, $GLOBALS['a'], $GLOBALS['b'], $c); echo "--\n"; debug_zval_dump($org_a, $org_b); echo "----"; if ($ref) echo 'r'; if ($alt) echo 'a'; echo "\n";}$a = 'ok';$b = 'ok';$_a = $a;$_b = $b;foo(false, true);foo(true, true);foo(false, false);foo(true, false);debug_zval_dump($_a, $_b);?>--EXPECT--NULL refcount(2)NULL refcount(2)long(1) refcount(3)long(2) refcount(3)--long(1) refcount(1)long(2) refcount(1)long(1) refcount(1)long(2) refcount(1)--long(1) refcount(1)long(2) refcount(1)long(1) refcount(1)long(2) refcount(1)--long(1) refcount(1)long(3) refcount(1)long(1) refcount(1)long(3) refcount(1)--long(4) refcount(1)long(3) refcount(1)long(4) refcount(1)long(3) refcount(1)--long(3) refcount(1)long(3) refcount(1)long(3) refcount(2)--long(4) refcount(1)string(1) "x" refcount(1)long(4) refcount(1)string(1) "x" refcount(1)long(3) refcount(2)--long(1) refcount(2)long(2) refcount(2)----along(1) refcount(1)long(2) refcount(1)long(1) refcount(1)long(2) refcount(1)--long(1) refcount(1)long(2) refcount(1)long(1) refcount(1)long(2) refcount(1)--long(1) refcount(1)long(2) refcount(1)long(1) refcount(1)long(2) refcount(1)--long(1) refcount(1)long(3) refcount(1)long(1) refcount(1)long(3) refcount(1)--long(4) refcount(1)long(3) refcount(1)long(4) refcount(1)long(3) refcount(1)--long(3) refcount(1)long(3) refcount(1)long(3) refcount(2)--long(4) refcount(1)string(1) "x" refcount(1)long(4) refcount(1)string(1) "x" refcount(1)long(3) refcount(2)--long(1) refcount(2)long(2) refcount(2)----raNULL refcount(2)NULL refcount(2)long(1) refcount(3)long(2) refcount(3)--long(1) refcount(1)long(2) refcount(1)long(1) refcount(1)long(2) refcount(1)--long(1) refcount(1)long(2) refcount(1)long(1) refcount(1)long(2) refcount(1)--long(1) refcount(1)long(3) refcount(1)long(1) refcount(1)long(3) refcount(1)--long(4) refcount(1)long(3) refcount(1)long(4) refcount(1)long(3) refcount(1)--long(3) refcount(1)long(3) refcount(1)long(3) refcount(2)--long(4) refcount(1)string(1) "x" refcount(1)long(4) refcount(1)string(1) "x" refcount(1)long(3) refcount(2)--long(1) refcount(2)long(2) refcount(2)----long(1) refcount(1)long(2) refcount(1)long(1) refcount(1)long(2) refcount(1)--long(1) refcount(1)long(2) refcount(1)long(1) refcount(1)long(2) refcount(1)--long(1) refcount(1)long(2) refcount(1)long(1) refcount(1)long(2) refcount(1)--long(1) refcount(1)long(3) refcount(1)long(1) refcount(1)long(3) refcount(1)--long(4) refcount(1)long(3) refcount(1)long(4) refcount(1)long(3) refcount(1)--long(3) refcount(1)long(3) refcount(1)long(3) refcount(2)--long(4) refcount(1)string(1) "x" refcount(1)long(4) refcount(1)string(1) "x" refcount(1)long(3) refcount(2)--long(1) refcount(2)long(2) refcount(2)----rstring(2) "ok" refcount(2)string(2) "ok" refcount(2)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -