TypePHP 编译器
https://swoole.com/aot/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1000 B
40 lines
1000 B
--TEST--
|
|
Bug #42177 (Warning "array_merge_recursive(): recursion detected" comes again...)
|
|
--SKIPIF--
|
|
<?php die("skip AOT array_merge_recursive recursion detection differs from PHP"); ?>
|
|
--FILE--
|
|
<?php
|
|
|
|
$a1 = array( 'key1' => 1, 'key3' => 2 );
|
|
$a2 = array();
|
|
$a1 = array_merge_recursive( $a1, $a2 );
|
|
$a1 = array_merge_recursive( $a1, $a2 );
|
|
unset( $a1, $a2 );
|
|
|
|
$a1 = array();
|
|
$a2 = array( 'key1' => 1, 'key3' => 2 );
|
|
$a1 = array_merge_recursive( $a1, $a2 );
|
|
$a1 = array_merge_recursive( $a1, $a2 );
|
|
unset( $a1, $a2 );
|
|
|
|
$a1 = array();
|
|
$a2 = array( 'key1' => &$a1 );
|
|
$a1 = array_merge_recursive( $a1, $a2 );
|
|
try {
|
|
$a1 = array_merge_recursive( $a1, $a2 );
|
|
} catch (\Error $e) {
|
|
echo $e->getMessage() . " on line " . $e->getLine() . "\n";
|
|
}
|
|
unset( $a1, $a2 );
|
|
|
|
$x = 'foo';
|
|
$y =& $x;
|
|
$a1 = array($x, $y, $x, $y);
|
|
$a2 = array( 'key1' => $a1, $x, $y );
|
|
$a1 = array_merge_recursive( $a1, $a2 );
|
|
$a1 = array_merge_recursive( $a1, $a2 );
|
|
unset( $a1, $a2 );
|
|
|
|
?>
|
|
--EXPECT--
|
|
Recursion detected on line 19
|
|
|