File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / tests / lang / func_get_args.004.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

--TEST--
Pass same variable by ref and by value. 
--FILE--
<?php
function valRef($x, &$y) {
	var_dump($x, $y);
	var_dump(func_get_args());
	$x = 'changed.x';
	$y = 'changed.y';
	var_dump(func_get_args());
}

function refVal(&$x, $y) {
	var_dump($x, $y);
	var_dump(func_get_args());
	$x = 'changed.x';
	$y = 'changed.y';
	var_dump(func_get_args());
}


echo "\n\n-- Val, Ref --\n";
$a = 'original.a';
valRef($a, $a);
var_dump($a);

echo "\n\n-- Ref, Val --\n";
$b = 'original.b';
refVal($b, $b);
var_dump($b);
?>
--EXPECTF--

-- Val, Ref --
string(10) "original.a"
string(10) "original.a"
array(2) {
  [0]=>
  string(10) "original.a"
  [1]=>
  string(10) "original.a"
}
array(2) {
  [0]=>
  string(10) "original.a"
  [1]=>
  string(9) "changed.y"
}
string(9) "changed.y"


-- Ref, Val --
string(10) "original.b"
string(10) "original.b"
array(2) {
  [0]=>
  string(10) "original.b"
  [1]=>
  string(10) "original.b"
}
array(2) {
  [0]=>
  string(9) "changed.x"
  [1]=>
  string(10) "original.b"
}
string(9) "changed.x"

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>