引用
先看一个面试题:
1. 引用是什么?
在php中,引用意味着用不同的名字访问同一个变量内容。和C语言的指针不一样,因为不能做php的引用不能做指针运算,并不是实际的内存地址。
2. 引用传递
php从5.4开始,已经丢弃了***foo(&$a)这种用法。只需要在函数声明的参数列表中加上***&符号已经可以起到引用的作用
3. 引用返回
面试题:
和参数传递不同,这里必须在两个地方都用*&*符号——指出返回的是一个引用,而不是通常的一个拷贝,同样也指出$myValue是作为引用的绑定,而不是通常的赋值。
4. 取消引用
当 unset 一个引用,只是断开了变量名和变量内容之间的绑定。这并不意味着变量内容被销毁了。
面试题:
来个比较难的题目
面试题
请说明 php 中传值与传引用的区别。什么时候传值什么时候传引用?
答:
变量默认总是传值赋值 。那也就是说 ,当将一个表达式的值赋予一个变量时 ,整个原始 表达式的值被赋值到目标变量。这意味着,例如,当一个变量的值赋予另外一个变量时 ,改变其中一个变量的值,将不会影响到另外一个变量。
PHP 也提供了另外一种方式给变量赋值:引用赋值。这意味着新的变量简单的引用(换言之,“成为其别名” 或者 “指向”)了原始变量。改动新的变量将影响到原始变量 ,反之亦 然。使用引用赋值,简单地将一个 & 符号加到将要赋值的变量前(源变量)。
对象默认是传引用。
对于较大的数据,传引用比较好 ,这样可以节省内存的开销。
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦