bug29493.phpt
来自「php-4.4.7学习linux时下载的源代码」· PHPT 代码 · 共 116 行
PHPT
116 行
--TEST--Bug #29493 (extract(EXTR_REFS) fails if array has multiple referrals)--FILE--<?phpfunction t1(){ $a = array('foo' => 'aaa'); // refcount($a) = 1 // refcount($a['foo']) = 1 $b = $a; // refcount($a) = 2 // refcount($a['foo']) = 1 $b['foo'] = 'bbb'; // refcount($a) = 1 // refcount($a['foo']) = 1 var_dump($a, $b); extract($a, EXTR_REFS); $foo = 'noo'; var_dump($a, $b);}function t2(){ $a = array('foo' => 'aaa'); // refcount($a) = 1 // refcount($a['foo']) = 1 $b = &$a; // refcount($a) = 2 // is_ref($a) = true // refcount($a['foo']) = 1 $b['foo'] = 'bbb'; // refcount($a) = 2 // refcount($a['foo']) = 1 var_dump($a, $b); extract($a, EXTR_REFS); $foo = 'noo'; var_dump($a, $b);}function t3(){ $a = array('foo' => 'aaa'); // refcount($a) = 1 // refcount($a['foo']) = 1 $b = &$a; // refcount($a) = 2 // is_ref($a) = true // refcount($a['foo']) = 1 unset($b); // refcount($a) = 1 // is_ref($a) = true // refcount($a['foo']) = 1 var_dump($a); extract($a, EXTR_REFS); $foo = 'noo'; var_dump($a);}t1();t2();t3();?>--EXPECT--array(1) { ["foo"]=> string(3) "aaa"}array(1) { ["foo"]=> string(3) "bbb"}array(1) { ["foo"]=> &string(3) "noo"}array(1) { ["foo"]=> string(3) "bbb"}array(1) { ["foo"]=> string(3) "bbb"}array(1) { ["foo"]=> string(3) "bbb"}array(1) { ["foo"]=> &string(3) "noo"}array(1) { ["foo"]=> &string(3) "noo"}array(1) { ["foo"]=> string(3) "aaa"}array(1) { ["foo"]=> &string(3) "noo"}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?