• 全都有综合资源网

    分享赚钱

    一个专业的免费资源网

    每天更新100+优质资源

  • 手机版二维码

    随时手机查素材

  • 扫描二维码

    加入官方微信群

分享一个关于php赋值传值、引用传值及unset的面试题

技术文章 每日更新
2024-6-6 23:25 82人浏览 0人回复
原作者: 全都有综合资源网 来自: 全都有综合资源网 收藏 分享 邀请
摘要

最近面试多,基本上一天一面试。遇到一个关于php赋值传值、引用传值及unset的问题,以前没有深究,百度了下发现道道还不少。面试题:请问以下输出的结果是?ClassUser{public$name;}$user1=newUser();$user2=$user1; ...

分享一个关于php赋值传值、援用传值及unset的口试题8677 作者:全都有综合资本网 来历:全都有综合资本网 公布时候:2024-6-6 23:25

 比来口试多,根基上一天一口试。碰到一个关于php赋值传值、援用传值及unset的题目,之前没有深究,百度了下发现道道还很多。

口试题:叨教以下输出的成果是?

  1. Class User {  

  2. public $name;  

  3. }  

  4. $user1 = new User();  

  5. $user2 = $user1;  

  6. $user1 -> name = 'one';  

  7. $user2 -> name = 'two';  

  8.   

  9. $array1 = array();  

  10. $array2 = $array1;  

  11. $array1['name'] = 'one';  

  12. $array2['name'] = 'two';  

  13.   

  14. echo $user1->name;//two  

  15. echo $user2->name;//two  

  16. echo $array1['name'];//one  

  17. echo $array2['name'];//two  

  18. //小我了解是,工具默许传值方式是援用传值,所之前面2个输出two  

  19. //而下面2个传值方式是赋值传值,所以各不影响。  

 

二篇相关文章,值得一读:
 

篇一:PHP的赋值传值与援用传值以及unset

首先,要了解变量名存储在内存栈中,它是指向堆中具体内存的地址,经过变量名查找堆中的内存;
普通传值,传值今后,是分歧的地址称号,指向分歧的内存实体;
援用传值,传援用后,是分歧的地址称号,但都指向同一个内存实体;改变其中一个,别的一个就也被改变;

以下我将经过三个列子来具体讲授这两个传值的区分:

Example1:

  1. //普通传值  

  2. $param1=1;   

  3. $param2=2;   

  4. $param2 = $param1;   

  5. $param1 = 5; //变量1和变量2是两块内存,互不影响;  

  6. echo $param2//所以此处还是显现为1  

  7.   

  8. //援用传值 ↓↓  

  9. $param1=1;   

  10. $param2=2;   

  11. $param2 = &$param1//把变量1的内存地址赋给变量2;此时的变量2和变量1全等;  

  12. echo $param2;// 1  

  13. $param1 = 5; //变量1和变量2是一处内存,改变其中一个,别的一个也被改变;  

  14. echo $param2//显现为5  

 

Example2:

  1. //函数中的普通传值 ↓↓  

  2. $param1 = 1;   

  3. function add($param2){  

  4.   $param2=3;   

  5. }  

  6. $param3=add($param1); //挪用方式add,并将变量1传给变量2,此处是普通传值,所以变量1和变量2是两处内存,互不影响;  

  7. echo '<br>$param1=='.$param1.'<br>'; //显现为$param1==1  

  8. echo '<br>$param2=='.$param2.'<!-- <br> -->'; //显现为$param2== 由于$param2是部分变量,函数运转完了今后就自动烧毁,其不能影响全局  

  9.   

  10. //函数中的援用传值 ↓↓ 留意,php不倡议这样利用,而且php.in里面设备其会报错;  

  11. $param1 = 1;   

  12. function add($param2){  

  13.   $param2=3;   

  14.   return $param2;  

  15. }  

  16. $param3=add(&$param1); //挪用方式add,并将变量1的援用传给变量2,此时两个地址指向同一内存,改变其中一个,别的一个也要被改变;  

  17. echo $param1//3,内存已在函数内部改变;  

  18. echo $param3//3   

 

Example3:

  1. //给数组里面的键值各增加10;  

  2. $arr = array(3,5);  

  3.   

  4. foreach($arr as $k=>$v){  

  5.  $v+=10;//1.变动无效,相当于遍历出的键值扔给变量$v,然后变动变量$v的值,跟数组无关;  

  6.  

    ©版权免责声明
    1、本站所有资源均来自用户上传及互联网。 如有侵权,请联系站长!
    2、分享目的仅供大家学习交流。 下载后必须在24小时内删除!
    3、不得用于非法商业目的或违反国家法律。 否则,后果自负!
    4、本站提供的源代码、模板、插件等资源不包含技术服务。 敬请谅解!
    5.如果出现无法下载、无效或有广告的链接,请联系管理员寻求帮助!
    6、本站资源价格仅用于赞助,所收取的费用仅用于维持本站日常运营!
    7、如果遇到加密压缩包,请使用WINRAR解压。 如果遇到无法解压的加密压缩包,请联系管理员!
    8、由于精力有限,很多源代码无法详细测试(解密),部分源代码无法区分为病毒或误报,所以没有进行修改。 请在使用前进行筛选。

路过

雷人

握手

鲜花

鸡蛋
热门教程
专业的免费源码资源分享平台
每天更新100+资源

招募版主发工资

  • 官方在线客服

    QQ客服:红颜

    点击交谈

    在线客服:良子

    点击交谈

    在线客服:闵月

    点击交谈
  • 上海市虹口区海伦中心B座4F4055-4056室

  • 手机扫码查看手机版

    手机查找资源更方便

  • 扫一扫关注官方微信公众号

    加入官方微信

一个专业的免费源码资源互联网分享平台 ©2001-2024 https://www.douyouvip.com全都有综合资源网( 豫ICP备2024057239号-1 )赞助会员|网站地图 HTML
全都有综合资源网,WordPress主题PHP源码,PHP网站源码,网站模板,软件源码,网站源码免费下载,免费网站源码,网站源码模板,免费网站源码下载,wp免费源码,wp免费主题下载,PHP企业网站源码,软件源码下载