PHP中引用类型和值类型功能与用法示例


Posted in PHP onFebruary 26, 2019

本文实例讲述了PHP中引用类型和值类型功能与用法。分享给大家供大家参考,具体如下:

PHP中的四种简单类型和复杂类型array都是值类型。同类型间赋值传递的是值,即创建一个副本给新变量。

例如:

$int1 = 123;
$int2 = $int1;//直接传递的是值,只是做了一个叫int1的副本叫int2
$int2 = 456;
echo $int1;//输出 123
echo $int1 === $int2;//为假
$int1 = 123;
$int2 = &$int1;//取地址符,传递的是引用
$int2 = 456;
echo $int1;//输出 456
echo $int1 === $int2;//输出 1.即为真

对象都是引用类型的,默认传递的就是引用,即新变量是旧变量的别名。

class Person{
    public $name;
}
$p1 = new Person();
$p1->name = 'Sheldon';
$p2 = $p1;
$p2->name = 'Leonard';
echo $p1->name;//输出:Lenoard
echo $p1 === $p2;//输出:1 即全等

如果想得到对象的一个副本(将复制旧变量的所有属性),从而互不影响,可以用clone关键字。

class Person {
    public $name;
}
$p1 = new Person();
$p1->name = 123;
$p2 = clone $p1;
echo $p2->name;//输出 123
$p2->name = 456;
echo $p1->name;//输出 123

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
mysql5的sql文件导入到mysql4的方法
Oct 19 PHP
IP攻击升级,程序改进以对付新的攻击
Nov 23 PHP
php调整gif动画图片尺寸示例代码分享
Dec 05 PHP
推荐一款PHP+jQuery制作的列表分页的功能模块
Oct 14 PHP
PHP生成压缩文件实例
Feb 07 PHP
PHP连接MySQL数据的操作要点
Mar 20 PHP
ThinkPHP里用U方法调用js文件实例
Jun 18 PHP
php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法
Jul 06 PHP
php获取汉字拼音首字母的方法
Oct 21 PHP
win7安装php框架Yii的方法
Jan 25 PHP
调用WordPress函数统计文章访问量及PHP原生计数器的实现
Mar 21 PHP
PHP设计模式之工厂模式(Factory Pattern)的讲解
Mar 21 PHP
PHP5.6读写excel表格文件操作示例
Feb 26 #PHP
PHP中抽象类,接口功能、定义方法示例
Feb 26 #PHP
PHP htmlentities()函数用法讲解
Feb 25 #PHP
PHP html_entity_decode()函数讲解
Feb 25 #PHP
PHP hex2bin()函数用法讲解
Feb 25 #PHP
PHP登录验证功能示例【用户名、密码、验证码、数据库、已登陆验证、自动登录和注销登录等】
Feb 25 #PHP
PHP封装的分页类与简单用法示例
Feb 25 #PHP
You might like
推荐一篇入门级的Class文章
2007/03/19 PHP
基于php下载文件的详解
2013/06/02 PHP
PHP中Session和Cookie是如何操作的
2015/10/10 PHP
php 中phar包的使用教程详解
2018/10/26 PHP
js调用webservice中的方法实现思路及代码
2013/02/25 Javascript
使用js实现关闭js弹出层的窗口
2014/02/10 Javascript
javascript跨浏览器的属性判断方法
2014/03/16 Javascript
html文档中的location对象属性理解及常见的用法
2014/08/13 Javascript
js实现div拖动动画运行轨迹效果代码分享
2015/08/27 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记6)
2015/12/20 Javascript
前端js文件合并的三种方式推荐
2016/05/19 Javascript
Node.js服务器环境下使用Mock.js拦截AJAX请求的教程
2016/05/23 Javascript
JS提示:Uncaught SyntaxError:Unexpected token ) 错误的解决方法
2016/08/19 Javascript
Vue如何实现响应式系统
2018/07/11 Javascript
vue+axios+mock.js环境搭建的方法步骤
2018/08/28 Javascript
vscode 开发Vue项目的方法步骤
2018/11/25 Javascript
Node.js API详解之 V8模块用法实例分析
2020/06/05 Javascript
nuxt 服务器渲染动态设置 title和seo关键字的操作
2020/11/05 Javascript
python生成器,可迭代对象,迭代器区别和联系
2018/02/04 Python
pandas.DataFrame 根据条件新建列并赋值的方法
2018/04/08 Python
python实现Zabbix-API监控
2018/09/17 Python
Python基础之文件读取的讲解
2019/02/16 Python
使用django实现一个代码发布系统
2019/07/18 Python
Python爬取豆瓣视频信息代码实例
2019/11/16 Python
Python3之乱码\xe6\x97\xa0\xe6\xb3\x95处理方式
2020/05/11 Python
用Python 执行cmd命令
2020/12/18 Python
Python页面加载的等待方式总结
2021/02/28 Python
html svg生成环形进度条的实现方法
2019/09/23 HTML / CSS
俄罗斯最大的灯具网站:Fandeco
2020/03/14 全球购物
基层干部2014全国两会学习心得体会
2014/03/10 职场文书
论文诚信承诺书
2014/05/23 职场文书
2014年扫黄打非工作总结
2014/12/03 职场文书
幼儿园百日安全活动总结
2015/05/07 职场文书
学习弘扬焦裕禄精神心得体会
2016/01/23 职场文书
高二英语教学反思
2016/03/03 职场文书
二手手机买卖合同范本(2019年版)
2019/10/28 职场文书