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