关于 变数的指标 & 的用法
在很多网站的代码中看到过 变量前面加一个&符号,但是一直不知道是什么意思,后来在网站搜了一下,只是说它叫变数的指标,但是没有具体是用法和作用,谁可以解释一下呢?
应该叫指针还差不多。
''&''这个符号的作用就是取变量的地址,一方面是为了和以前的PHP版本兼容,令一方面提高了代码效率,减少了其他地方的代码对变量的影响
说明php中传值与传引用的区别。什么时候传值什么时候传引用?
答:按值传递:函数范围内对值的任何改变在函数外部都会被忽略
按引用传递:函数范围内对值的任何改变在函数外部也能反映出这些修改
优缺点:按值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。
按引用传递则不需要复制值,对于性能提高很有好处。
$db=Model::getDb();将函数的返回复制给$db
$db=& Model::getDb();将函数的返回引用给$db
也就是说当采用引用后(&)$db的任何操作都会影响到getDb的返回值,当其他方法再调用这个getDb时都是得到$db影响的值?
引用就像快捷方式 : 虽然在桌面,其实你操作的还是其实际位置的文件.
其他运算符号:
$ 变数符号
& 变数的指标(加在变数前)
@ 不显示错误信息(加在函数前)
-> 物件的方法或者属性
=> 阵列的元素值
? : 三元运算子