zoukankan      html  css  js  c++  java
  • PHP中按值传递和引用传递的区别

    有次跟朋友讨论对象传值的方式时提到引用传值时,在大脑中搜索五秒钟,果断确定在这两个项目当中并没有用到。今天去问了一下度娘,顺便做了个小测试:

    按值传递:

    引用传递:

    按值传递中原来参数的值在调用其他函数之后还是原来的值,而引用传递则是改变了原来的值。按照按值传递的做法来传值时,如果需要原来的值发生改变,

    则需要在进行代码复制,若是值够大或者是一大串字符串时,会使代码比较多,重复,而引用传递则不需要复制PHP代码,对提高性能这一个方面有很大的优势。

    2.值传递跟引用传递的区别?


    按值传递函数范围内对值的任何改变在函数外部都会被忽略
    按引用传递:函数范围内对值的任何改变在函数外部也能反映出这些修改
    优缺点:
    按值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的
    操作。按引用传递则不需要复制值,对于性能提高很有好处。

    Function  test(&$a){
        $a=$a+100;
    }
        $b=1;
        Echo  $b;//输出1
        test($b);//这里$b传递给函数的其实是$b的变量内容所处的内存地址,通过在函数里改变$a的值就可以改变$b的值了
        echo "<br>";
        echo  $b;// 输出101



  • 相关阅读:
    cookie操作
    css加载动画...
    三目运算符的运用
    遍历对象长度
    2年
    相亲

    股市周期
    功利心
    思考笔记
  • 原文地址:https://www.cnblogs.com/yangzailu/p/7867196.html
Copyright © 2011-2022 走看看