php中函数前加&符号的作用
2017-11-09 15:57
495 查看
这两天公司要搭一个论坛,看dz的源码,发现了下面的这种写法
研究了下 方法名前面加 & 的作用
a=test()方式调用函数,只是将函数的值赋给a而已, 而a做任何改变 都不会影响到函数中的b.
而通过a=&test()方式调用函数呢, 他的作用是将returnb中的 b变量的内存地址与a变量的内存地址,
指向了同一个地方. 即产生了相当于这样的效果(a=&b;) 所以改变a的值,也同时改变了b的值,所以在执行了:a=&test(); a=5;以后,b的值变为了5。
calss discuz_application{ static function &instance() { static $object; if(empty($object)) { $object = new self(); } return $object; } } public static function creatapp() { if(!is_object(self::$_app)) { self::$_app = discuz_application::instance(); } return self::$_app; }
研究了下 方法名前面加 & 的作用
function &test() { static $b=0;//申明一个静态变量 $b=$b+1; echo $b; return $b; } $a=test();//这条语句会输出 $b的值 为1 $a=5; $a=test();//这 条语句会输出 $b的值 为2 $a=&test();//这条语句会输出 $b的值 为3 相当于这样的效果($a=&b;) $a=5; $a=test(); //这条语句会输出 $b的值 为6
a=test()方式调用函数,只是将函数的值赋给a而已, 而a做任何改变 都不会影响到函数中的b.
而通过a=&test()方式调用函数呢, 他的作用是将returnb中的 b变量的内存地址与a变量的内存地址,
指向了同一个地方. 即产生了相当于这样的效果(a=&b;) 所以改变a的值,也同时改变了b的值,所以在执行了:a=&test(); a=5;以后,b的值变为了5。
相关文章推荐
- php中函数前加&符号的作用分解
- php的引用(就是在变量或者函数、对象等前面加上&符号)
- 在php中的变量和函数名前加&符号的意思
- php的引用(在变量或者函数、对象等前面加上&符号)
- php的引用(就是在变量或者函数、对象等前面加上&符号)
- php中@符号放在函数前面的作用
- php的引用(就是在变量或者函数、对象等前面加上&符号)
- php中@符号放在函数前面的作用
- php的引用(就是在变量或者函数、对象等前面加上&符号)
- php中函数前加&符号的作用分解
- php中函数前加&符号的作用分解
- 在php中的变量和函数名前加&符号的意思
- 在php中的变量和函数名前加&符号的意思
- php定义function时,函数名前加“&”符号是什么意思?
- PHP中在函数和变量前加&的作用例解
- 详解php中引用(&符号)的作用
- 在php中的变量和函数名前加&符号的意思
- php的引用&(就是在变量或者函数、对象等前面加上&符号)
- php function 定义时函数名前加&符号的意义
- php中函数前加&符号的作用分解