Annotation of embedaddon/php/tests/lang/returnByReference.005.phpt, revision 1.1.1.1
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)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>