• 技术文章 >后端开发 >PHP问题

    深入理解php中值传递和引用传递的区别

    王林王林2019-09-04 14:34:57原创1080

    PHP值传递和引用传递的区别。什么时候传值什么时候传引用

    (1)按值传递:函数范围内对值的任何改变在函数外部都会被忽略

    (2)按引用传递:函数范围内对值的任何改变在函数外部也能反映出这些修改

    (3)优缺点:

    A:按值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。

    B.按引用传递则不需要复制值,对于性能提高很有好处。

    <?php
        header('content-type:text/html;charset=utf-8');
    
        //探讨一下 array , null, 对象 ,资源的默认传递方式
        // 结论 (1) array 默认是值传递,通过加 & 可以引用传递
        //      (2)  null 默认是值传递,通过加 & 可以引用传递
        //      (3) 资源  是值传递.通过加 & 可以引用传递
        //        (4) 对象默认也是值传递,但是对象值传递是对象标识符    
        $hero = array('no1'=>'蝙蝠侠', 'no2'=>'超人');
    
        $hero2 = &$hero;
        $hero2['no1'] = '蜘蛛侠';
        echo '<pre>';
        var_dump($hero);
        var_dump($hero2);
    
    
        $a = null;
        $b = &$a;
        $b = 'abc';
    
        var_dump($a, $b);

    推荐视频教程:PHP视频教程

    以上就是深入理解php中值传递和引用传递的区别的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:thinkphp5中怎样配置数据库? 下一篇:php怎么全局捕获异常
    PHP编程就业班

    相关文章推荐

    • php自定义函数间的值传递/引用传递用法详解• php引用定义和引用传递参数实例用法详解• PHP通过引用传递参数用法详解• php函数传值的引用传递注意事项分析

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网