php的引用
2016-07-14 12:25
441 查看
引用的含义
php的引用是用不同的名字访问同一个变量内容,并不像C的指针那样。在PHP 中,变量名和变量内容是不一样的, 因此同样的内容可以有不同的名字。最接近的比喻是 Unix 的文件名和文件本身——变量名是目录条目,而变量内容则是文件本身。引用可以被看作是 Unix 文件系统中的硬链接。下面是变量引用:
$a = 1; $b = &$a; $b = 2; var_dump($a, $b); // int(2) int(2) $b = null; var_dump($a, $b); // NULL NULL
引用能做什么
1.引用传递<?php function foo(&$var){ $var++; } $a = 1; foo($a); // 调用这个方法直接改变了$a的值,foo方法无需返回再赋值给$a echo $a; // 这里会输出2
2.引用返回
将变量和函数返回值绑定
class foo { public $value = 42; public function &getValue() { return $this->value; } } $obj = new foo; $myValue = &$obj->getValue(); // myvalue和$obj->value指向同一个变量 $obj->value = 2; echo $myValue; // 输出2 $myValue = 3; echo $obj->value; // 输出3
取消引用
当 unset 一个引用,只是断开了变量名和变量内容之间的绑定。这并不意味着变量内容被销毁了,例如:$a = 1; $b = &$a; unset($a); var_dump($a, $b); // 输出NULL int(1)
相关文章推荐
- PHP获取上周、本周、上月、本月、本季度、上季度时间方法大全
- 签名算法PHP和Java的不同实现
- php-fpm打开错误日志的配置
- Yii的Srbac插件用法详解
- PHP超全局变量$_ENV详解,及$_ENV为空的可能原因
- PHP变量入门教程(4)PHP 的外部变量
- PHP变量入门教程(3)global 关键字
- PHP变量入门教程(2)超全局变量,总共9个
- PHP Smarty增删改查(考试题库)
- PHP变量入门教程(1)基础
- 【很变态】PHP类实例化对象竟然可以访问类的“静态(static)方法”!!!
- 【转】记录PHP、MySQL在高并发场景下产生的一次事故
- PHP 操作 MySQL 执行数据库事务
- PHP返回32位与16位的md5加密值
- PhpStorm 8.x/9.x 快捷键设置/个性化设置,如何多项目共存?如何更换主题?
- Yii2使用Cookie的注意事项
- Yii中srbac权限扩展模块工作原理与用法分析
- php中curl同时发送多个请求curl_multi函数集的用法
- PHP工程师知识体系结构
- vsftp 根据用户设置