2008-11-28 10:41:19 +00:00
|
|
|
--TEST--
|
|
|
|
Passing assignments by reference
|
|
|
|
--FILE--
|
|
|
|
<?php
|
|
|
|
|
|
|
|
function f(&$a) {
|
|
|
|
var_dump($a);
|
|
|
|
$a = "a.changed";
|
|
|
|
}
|
|
|
|
|
|
|
|
echo "\n\n---> Pass constant assignment by reference:\n";
|
|
|
|
f($a="a.original");
|
|
|
|
var_dump($a);
|
|
|
|
|
|
|
|
echo "\n\n---> Pass variable assignment by reference:\n";
|
|
|
|
unset($a);
|
|
|
|
$a = "a.original";
|
|
|
|
f($b = $a);
|
|
|
|
var_dump($a);
|
|
|
|
|
|
|
|
echo "\n\n---> Pass reference assignment by reference:\n";
|
|
|
|
unset($a, $b);
|
|
|
|
$a = "a.original";
|
|
|
|
f($b =& $a);
|
|
|
|
var_dump($a);
|
|
|
|
|
|
|
|
echo "\n\n---> Pass concat assignment by reference:\n";
|
|
|
|
unset($a, $b);
|
|
|
|
$b = "b.original";
|
|
|
|
$a = "a.original";
|
|
|
|
f($b .= $a);
|
|
|
|
var_dump($a);
|
|
|
|
|
|
|
|
?>
|
|
|
|
--EXPECTF--
|
|
|
|
|
|
|
|
|
|
|
|
---> Pass constant assignment by reference:
|
|
|
|
|
2015-03-15 08:47:25 +00:00
|
|
|
Notice: Only variables should be passed by reference in %s on line 9
|
2008-11-28 10:41:19 +00:00
|
|
|
string(10) "a.original"
|
|
|
|
string(10) "a.original"
|
|
|
|
|
|
|
|
|
|
|
|
---> Pass variable assignment by reference:
|
|
|
|
|
2015-03-15 08:47:25 +00:00
|
|
|
Notice: Only variables should be passed by reference in %s on line 15
|
2008-11-28 10:41:19 +00:00
|
|
|
string(10) "a.original"
|
|
|
|
string(10) "a.original"
|
|
|
|
|
|
|
|
|
|
|
|
---> Pass reference assignment by reference:
|
|
|
|
string(10) "a.original"
|
|
|
|
string(9) "a.changed"
|
|
|
|
|
|
|
|
|
|
|
|
---> Pass concat assignment by reference:
|
|
|
|
|
2015-03-15 08:47:25 +00:00
|
|
|
Notice: Only variables should be passed by reference in %s on line 28
|
2008-11-28 10:41:19 +00:00
|
|
|
string(20) "b.originala.original"
|
|
|
|
string(10) "a.original"
|