Return to func_get_args.004.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / tests / lang |
1.1 ! misho 1: --TEST-- ! 2: Pass same variable by ref and by value. ! 3: --FILE-- ! 4: <?php ! 5: function valRef($x, &$y) { ! 6: var_dump($x, $y); ! 7: var_dump(func_get_args()); ! 8: $x = 'changed.x'; ! 9: $y = 'changed.y'; ! 10: var_dump(func_get_args()); ! 11: } ! 12: ! 13: function refVal(&$x, $y) { ! 14: var_dump($x, $y); ! 15: var_dump(func_get_args()); ! 16: $x = 'changed.x'; ! 17: $y = 'changed.y'; ! 18: var_dump(func_get_args()); ! 19: } ! 20: ! 21: ! 22: echo "\n\n-- Val, Ref --\n"; ! 23: $a = 'original.a'; ! 24: valRef($a, $a); ! 25: var_dump($a); ! 26: ! 27: echo "\n\n-- Ref, Val --\n"; ! 28: $b = 'original.b'; ! 29: refVal($b, $b); ! 30: var_dump($b); ! 31: ?> ! 32: --EXPECTF-- ! 33: ! 34: -- Val, Ref -- ! 35: string(10) "original.a" ! 36: string(10) "original.a" ! 37: array(2) { ! 38: [0]=> ! 39: string(10) "original.a" ! 40: [1]=> ! 41: string(10) "original.a" ! 42: } ! 43: array(2) { ! 44: [0]=> ! 45: string(10) "original.a" ! 46: [1]=> ! 47: string(9) "changed.y" ! 48: } ! 49: string(9) "changed.y" ! 50: ! 51: ! 52: -- Ref, Val -- ! 53: string(10) "original.b" ! 54: string(10) "original.b" ! 55: array(2) { ! 56: [0]=> ! 57: string(10) "original.b" ! 58: [1]=> ! 59: string(10) "original.b" ! 60: } ! 61: array(2) { ! 62: [0]=> ! 63: string(9) "changed.x" ! 64: [1]=> ! 65: string(10) "original.b" ! 66: } ! 67: string(9) "changed.x"