来源:自学PHP网 时间:2014-11-25 00:27 作者: 阅读:次
[导读] 在php中我们函数传值就比较简单了,但可能有些朋友地天真无邪函数传址或引用搞不明白,下面小编来给各位介绍在php中函数传值与传址(引用)介绍...
php函数的传值与传址(引用)详解在php中我们函数传值就比较简单了,但可能有些朋友地天真无邪函数传址或引用搞不明白,下面小编来给各位介绍在php中函数传值与传址(引用)介绍,希望对各位有所帮助。 php中引用的用法: 1. 变量的引用赋值: $a = &$b 2. 函数调用时的引用参数传递 1) 早期php是在调用时通过&符号传递引用类型的变量, 比如: func(&$arg); 2) 后来, 函数的引用类型参数被规定为需要在函数声明时定义, 不如: function func(&$arg); 注:引用声明时定义引用类型参数后,运行时引用参数传递被废弃,需要在php.ini中增加allow_call_time_pass_reference来开启. 3. 函数返回引用类型,这种应用方式需要声明函数时,在函数名前增加&符号,并且,在调用时,要用引用赋值方式, 实例代码如下:
简而言之,就是让函数的返回一个引用类型的值,一个更实际的例子,代码如下:
php函数传值的几个细节,如下: 一、基本数据类型的传值
二、数组(默认情况下是复制一份数据),如要传地址则&$arr.
三、对象数据类型传值
php函数的传值与传址有什么区别呢?对于这样的问题我喜欢通过程序演示来获取答案,让我们来看一个演示记录吧!实例代码如下:
解释: 1)直接输出一个赋值$i=100的变量 2)func函数传值返回一个算术相加的结果$=100+100 3)func函数传值,其作用区域只限于函数内部,对外面的变量$i不会有影响 4)同上 5)func函数参数前多了个"&"符,表示传址,和2)一样,返回值是函数的算术运行结果。 6)func(&$i),变量指针指向$i的位置,可以理解为是对变量$i的操作,$i=$i+100;这时变量$i已经相当于重新被赋值 如果去掉上面代码的第18行注释,会得什么结果呢? 小结:传址为了在执行函数的同时,同时改变函数参数值,而传值不期望改变. |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com