您的位置:首页 > 编程语言 > PHP开发

PHP 函数传递基本数据类型和数组的内存传递方式

2015-06-27 14:50 615 查看
<?php
//屏蔽程序 notice 级错误
error_reporting(E_ALL^E_NOTICE);
//如果给函数传递的是基本数据类型,如整数、小数、布尔、字符等时,在默认的情况下是传递的值;
//如果你希望传入地址,则可以用一下方法:
function test(&$n)
//加上&符号表示传入的是地址,若改变此值则所对应地址的值也会改变;
//若没有&符号,仅仅是传值,若在函数中对该值进行改变,仅仅是这个值改变,其所对应地址的值没有改变,即该值的改变仅仅能影响函数内部,出了此函数,该值将保持原值不变
{
echo "传入地址对应值为:".$n."<br/>";
$n+=1;
}
//调用以上函数
$a=100;
test($a);
echo $a."<br/>"; //有&符号打印101,没有&符号打印100
//在php中如果,给一个函数传递的是数组,则默认情况下是传值(拷贝了新的数组),如果希望传入地址,则应当,&$数组名
$a1=array(1,3,900);
$a2=array(56,90,100);
$arr=array($a1,$a2,6);
foreach($arr as $k=>$k_v)
{
echo "$k=>$k_v";
echo "<br>";
}

print_r($arr);
echo "<br>";
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: