Annotation of embedaddon/php/tests/lang/passByReference_007.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Pass function and method calls by reference and by value.
! 3: --FILE--
! 4: <?php
! 5: class C {
! 6: static function sreturnVal() {
! 7: global $a;
! 8: return $a;
! 9: }
! 10:
! 11: static function &sreturnReference() {
! 12: global $a;
! 13: return $a;
! 14: }
! 15:
! 16: function returnVal() {
! 17: global $a;
! 18: return $a;
! 19: }
! 20:
! 21: function &returnReference() {
! 22: global $a;
! 23: return $a;
! 24: }
! 25: }
! 26:
! 27: function returnVal() {
! 28: global $a;
! 29: return $a;
! 30: }
! 31:
! 32: function &returnReference() {
! 33: global $a;
! 34: return $a;
! 35: }
! 36:
! 37:
! 38:
! 39: function foo(&$ref) {
! 40: var_dump($ref);
! 41: $ref = "changed";
! 42: }
! 43:
! 44:
! 45: echo "Pass a function call that returns a value:\n";
! 46: $a = "original";
! 47: foo(returnVal());
! 48: var_dump($a);
! 49:
! 50: echo "Pass a function call that returns a reference:\n";
! 51: $a = "original";
! 52: foo(returnReference());
! 53: var_dump($a);
! 54:
! 55:
! 56: echo "\nPass a static method call that returns a value:\n";
! 57: $a = "original";
! 58: foo(C::sreturnVal());
! 59: var_dump($a);
! 60:
! 61: echo "Pass a static method call that returns a reference:\n";
! 62: $a = "original";
! 63: foo(C::sreturnReference());
! 64: var_dump($a);
! 65:
! 66:
! 67: $myC = new C;
! 68: echo "\nPass a method call that returns a value:\n";
! 69: $a = "original";
! 70: foo($myC->returnVal());
! 71: var_dump($a);
! 72:
! 73: echo "Pass a method call that returns a reference:\n";
! 74: $a = "original";
! 75: foo($myC->returnReference());
! 76: var_dump($a);
! 77:
! 78: ?>
! 79: --EXPECTF--
! 80: Pass a function call that returns a value:
! 81:
! 82: Strict Standards: Only variables should be passed by reference in %s on line 44
! 83: string(8) "original"
! 84: string(8) "original"
! 85: Pass a function call that returns a reference:
! 86: string(8) "original"
! 87: string(7) "changed"
! 88:
! 89: Pass a static method call that returns a value:
! 90:
! 91: Strict Standards: Only variables should be passed by reference in %s on line 55
! 92: string(8) "original"
! 93: string(8) "original"
! 94: Pass a static method call that returns a reference:
! 95: string(8) "original"
! 96: string(7) "changed"
! 97:
! 98: Pass a method call that returns a value:
! 99:
! 100: Strict Standards: Only variables should be passed by reference in %s on line 67
! 101: string(8) "original"
! 102: string(8) "original"
! 103: Pass a method call that returns a reference:
! 104: string(8) "original"
! 105: string(7) "changed"
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>