Annotation of embedaddon/php/tests/lang/returnByReference.003.phpt, revision 1.1.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>