分享

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

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多