码迷,mamicode.com
首页 > Web开发 > 详细

php值传递和引用传递的区别

时间:2018-08-03 14:35:15      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:返回   ret   span   test   func   UNC   改变   效率   自增   

值传递  (示例demo)

 1 <?php
 2 //值传递: 在函数范围内,改变变量值得大小,都不不会影响到函数外边的变量值.
 3 function test($i){
 4     $i++;//变量i自增值加1
 5     $a=$i;//变量i赋值给变量a
 6     return $a;//返回变量a
 7 }
 8 
 9 $i=5;//定义变量i
10 echo $i.‘<br>‘;//输出:5
11 echo test($i).‘<br>‘;//输出:6
12 echo $i;//输出:5

 

引用传递  (示例demo)

 1 <?php
 2 //引用传递: 在函数范围内,对值的任何改变,在函数外部也有所体现,因为传引用传的是内存地址.
 3 function test(&$i){
 4     $i++;//变量i自增值加1
 5     $a=$i;//变量i的引用传给变量a
 6     return $a;//返回变量a
 7 }
 8 
 9 $i=5;//定义变量i
10 echo $i.‘<br>‘;//输出:5
11 echo test($i).‘<br>‘;//输出:6
12 echo $i;//输出:6

 

应用场景:

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

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

优缺点:

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

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

 

php值传递和引用传递的区别

标签:返回   ret   span   test   func   UNC   改变   效率   自增   

原文地址:https://www.cnblogs.com/cxx8181602/p/9413108.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!