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

    值传递:在函数范围内,改变变量值得大小,都不不会影响到函数外边的变量值.

    引用传递:在函数范围内,对值的任何改变,在函数外部也有所体现,因为传引用传的是内存地址.

    值传递  (示例demo)

     1 <?php
     2 function test($i){
     3     $i++;//变量i自增值加1
     4     $a=$i;//变量i赋值给变量a
     5     return $a;//返回变量a
     6 }
     7 
     8 $i=5;//定义变量i
     9 echo $i.'<br>';//输出:5
    10 echo test($i).'<br>';//输出:6
    11 echo $i;//输出:5

    引用传递  (示例demo)

     1 <?php
     2 function test(&$i){
     3     $i++;//变量i自增值加1
     4     $a=$i;//变量i的引用传给变量a
     5     return $a;//返回变量a
     6 }
     7 
     8 $i=5;//定义变量i
     9 echo $i.'<br>';//输出:5
    10 echo test($i).'<br>';//输出:6
    11 echo $i;//输出:6

    应用场景:

    (1)值传递时,php必须复制值.

    (2)引用传递则不需要复制值,故引用传递一般用于大字符串或对象.

    优缺点:

    (1)传值会很耗时间,特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作.

    (2)传送引用,函数内的任何操作等同于对传送变量的操作,传送大型变量时效率高.

  • 相关阅读:
    linux命令行
    mybatis中#{}和${}的区别
    @InitBinder的作用
    mui 实用封装销毁页面
    【SQLite】简单的基本使用步骤
    常用的一些操作方法
    【HttpWeb】Post和GET请求基本封装
    【接口验证】特性验证参数
    小谈单例模式
    vs下开端口直接调试iis
  • 原文地址:https://www.cnblogs.com/cxx8181602/p/9413108.html
Copyright © 2011-2022 走看看