php传递数组时,是值传递

php代码:

<?php
function changeArr(& $arr){
	foreach($arr as $k =>$v){
		$arr[$k]=stripslashes($v);
	}
}
print_r($_POST);
changeArr($_POST);
print_r($_POST);
$a=array(1,4,5);
$b=$a;
$b[0]=10;
print_r($b);
print_r($a);
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>sfd</title>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" enctype="multipart/form-data" name="test">
	<input type="text" name="username" />
	<input type="submit" name="" value="提交" /> 
</form>
</body>
</html>

 

在表单输入: hello'wo;s'''  

在浏览器执行结果为:

 

Array ( [username] => hello\'wo;s\'\'\' ) Array ( [username] => hello'wo;s''' ) Array ( [0] => 10 [1] => 4 [2] => 5 ) Array ( [0] => 1 [1] => 4 [2] => 5 )

 

 

而其他语言。比如c#,是引用传递

using System;
namespace Test
{
    class Welcome
    {
        static void Main()
        {
            int i;
            int[] array ={ 0, 1, 3, 4, 5 };
            int[] b;
            b = array;
            array[1] = 89;
            for (i = 0; i < b.Length; i++)
            {
                Console.WriteLine(b[i]);
            }
        }
    }
}

 

输入:


php传递数组时,是值传递
 

 

你可能感兴趣的:(html,c,PHP,XHTML,浏览器)