summaryrefslogtreecommitdiff
path: root/tests/lang/engine_assignExecutionOrder_007.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lang/engine_assignExecutionOrder_007.phpt')
-rw-r--r--tests/lang/engine_assignExecutionOrder_007.phpt46
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/lang/engine_assignExecutionOrder_007.phpt b/tests/lang/engine_assignExecutionOrder_007.phpt
new file mode 100644
index 0000000..56b729e
--- /dev/null
+++ b/tests/lang/engine_assignExecutionOrder_007.phpt
@@ -0,0 +1,46 @@
+--TEST--
+Check key execution order with &new.
+--FILE--
+<?php
+$a[2][3] = 'stdClass';
+$a[$i=0][++$i] =& new $a[++$i][++$i];
+print_r($a);
+
+$o = new stdClass;
+$o->a =& new $a[$i=2][++$i];
+$o->a->b =& new $a[$i=2][++$i];
+print_r($o);
+?>
+--EXPECTF--
+Deprecated: Assigning the return value of new by reference is deprecated in %s.php on line 3
+
+Deprecated: Assigning the return value of new by reference is deprecated in %s.php on line 7
+
+Deprecated: Assigning the return value of new by reference is deprecated in %s.php on line 8
+Array
+(
+ [2] => Array
+ (
+ [3] => stdClass
+ )
+
+ [0] => Array
+ (
+ [1] => stdClass Object
+ (
+ )
+
+ )
+
+)
+stdClass Object
+(
+ [a] => stdClass Object
+ (
+ [b] => stdClass Object
+ (
+ )
+
+ )
+
+)