Annotation of embedaddon/php/tests/lang/returnByReference.003.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Returning a reference from a function
! 3: --FILE--
! 4: <?php
! 5: function returnConstantByValue() {
! 6: return 100;
! 7: }
! 8:
! 9: function &returnConstantByRef() {
! 10: return 100;
! 11: }
! 12:
! 13: function &returnVariableByRef() {
! 14: return $GLOBALS['a'];
! 15: }
! 16:
! 17: echo "\n---> 1. Trying to assign by reference the return value of a function that returns by value:\n";
! 18: unset($a, $b);
! 19: $a = 4;
! 20: $b = &returnConstantByValue();
! 21: $a++;
! 22: var_dump($a, $b);
! 23:
! 24: echo "\n---> 2. Trying to assign by reference the return value of a function that returns a constant by ref:\n";
! 25: unset($a, $b);
! 26: $a = 4;
! 27: $b = &returnConstantByRef();
! 28: $a++;
! 29: var_dump($a, $b);
! 30:
! 31: echo "\n---> 3. Trying to assign by reference the return value of a function that returns by ref:\n";
! 32: unset($a, $b);
! 33: $a = 4;
! 34: $b = &returnVariableByRef();
! 35: $a++;
! 36: var_dump($a, $b);
! 37:
! 38: ?>
! 39: --EXPECTF--
! 40:
! 41: ---> 1. Trying to assign by reference the return value of a function that returns by value:
! 42:
! 43: Strict Standards: Only variables should be assigned by reference in %s on line 17
! 44: int(5)
! 45: int(100)
! 46:
! 47: ---> 2. Trying to assign by reference the return value of a function that returns a constant by ref:
! 48:
! 49: Notice: Only variable references should be returned by reference in %s on line 7
! 50: int(5)
! 51: int(100)
! 52:
! 53: ---> 3. Trying to assign by reference the return value of a function that returns by ref:
! 54: int(5)
! 55: int(5)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>