parent
559a8860a0
commit
6daa312183
4 changed files with 77 additions and 2 deletions
@ -0,0 +1,46 @@ |
||||
--TEST-- |
||||
Reference-returning calls are copied by value when used as call arguments or array elements |
||||
--FILE-- |
||||
<?php |
||||
|
||||
function main() |
||||
{ |
||||
$v1 = &test1(); |
||||
var_dump($v1); |
||||
$v2 = &test1(); |
||||
var_dump($v2); |
||||
var_dump($v1, $v2); |
||||
$v1 = 0; |
||||
var_dump($v1, $v2); |
||||
var_dump(test1(), test2()); |
||||
var_dump([test1(), test2()]); |
||||
} |
||||
|
||||
function &test1() |
||||
{ |
||||
$callback = 'test2'; |
||||
return $callback(); |
||||
} |
||||
|
||||
function &test2() |
||||
{ |
||||
static $value = 0; |
||||
++$value; |
||||
return $value; |
||||
} |
||||
?> |
||||
--EXPECT-- |
||||
int(1) |
||||
int(2) |
||||
int(2) |
||||
int(2) |
||||
int(0) |
||||
int(0) |
||||
int(1) |
||||
int(2) |
||||
array(2) { |
||||
[0]=> |
||||
int(3) |
||||
[1]=> |
||||
int(4) |
||||
} |
||||
Loading…
Reference in new issue