diff options
Diffstat (limited to 'tests/lang/bug21600.phpt')
-rw-r--r-- | tests/lang/bug21600.phpt | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/lang/bug21600.phpt b/tests/lang/bug21600.phpt new file mode 100644 index 0000000..6ecf69a --- /dev/null +++ b/tests/lang/bug21600.phpt @@ -0,0 +1,39 @@ +--TEST-- +Bug #21600 (assign by reference function call changes variable contents) +--INI-- +error_reporting=4095 +--FILE-- +<?php +$tmp = array(); +$tmp['foo'] = "test"; +$tmp['foo'] = &bar($tmp['foo']); +var_dump($tmp); + +unset($tmp); + +$tmp = array(); +$tmp['foo'] = "test"; +$tmp['foo'] = &fubar($tmp['foo']); +var_dump($tmp); + +function bar($text){ + return $text; +} + +function fubar($text){ + $text = &$text; + return $text; +} +?> +--EXPECTF-- +Strict Standards: Only variables should be assigned by reference in %sbug21600.php on line 4 +array(1) { + ["foo"]=> + string(4) "test" +} + +Strict Standards: Only variables should be assigned by reference in %sbug21600.php on line 11 +array(1) { + ["foo"]=> + string(4) "test" +} |