File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / tests / lang / passByReference_007.phpt
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 23:48:06 2012 UTC (12 years, 4 months ago) by misho
Branches: php, MAIN
CVS tags: v5_4_3elwix, v5_4_29p0, v5_4_29, v5_4_20p0, v5_4_20, v5_4_17p0, v5_4_17, v5_3_10, HEAD
php

    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>