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 相关文章推荐
PHP在XP下IIS和Apache2服务器上的安装
Sep 05 PHP
如何在PHP中使用正则表达式进行查找替换
Jun 13 PHP
php登陆页的密码处理方式分享
Oct 14 PHP
PHP图片处理之图片背景、画布操作
Nov 19 PHP
PHP中实现接收多个name相同但Value不相同表单数据实例
Feb 03 PHP
PHP获取photoshop写入图片文字信息的方法
Mar 31 PHP
使用PHP实现微信摇一摇周边红包
Jan 04 PHP
yii2中添加验证码的实现方法
Jan 09 PHP
PHP MSSQL 分页实例
Apr 13 PHP
实现PHP搜索加分页
Oct 12 PHP
浅谈php中fopen不能创建中文文件名文件的问题
Feb 06 PHP
PHP date_default_timezone_set()设置时区操作实例分析
May 16 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
PHP实现通过中文字符比率来判断垃圾评论的方法
2014/10/20 PHP
php set_include_path函数设置 include_path 配置选项
2016/10/30 PHP
PHP编写daemon process 实例详解
2016/11/13 PHP
Laravel5中Cookie的使用详解
2017/05/03 PHP
newxtree.js代码
2007/03/13 Javascript
通过length属性判断jquery对象是否存在
2013/10/18 Javascript
jQuery中index()的用法分析
2014/09/05 Javascript
nodejs实现获取某宝商品分类
2015/05/28 NodeJs
jquery.mousewheel实现整屏翻屏效果
2015/08/30 Javascript
QQ登录背景闪动效果附效果演示源码下载
2015/09/22 Javascript
解决JS请求服务器gbk文件乱码的问题
2015/10/16 Javascript
使用Vue自定义数字键盘组件(体验度极好)
2017/12/19 Javascript
Node.js中的cluster模块深入解读
2018/06/11 Javascript
vue中的数据绑定原理的实现
2018/07/02 Javascript
实例讲解JS中pop使用方法
2019/01/27 Javascript
Vue使用zTree插件封装树组件操作示例
2019/04/25 Javascript
LayUI switch 开关监听 获取属性值、更改状态的方法
2019/09/21 Javascript
使用uni-app开发微信小程序的实现
2019/12/13 Javascript
使用Karma做vue组件单元测试的实现
2020/01/16 Javascript
[01:02:48]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 LGD vs OG
2018/04/02 DOTA
[46:23]OG vs EG 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
python使用PIL模块实现给图片打水印的方法
2015/05/22 Python
使用Python导出Excel图表以及导出为图片的方法
2015/11/07 Python
python 连接各类主流数据库的实例代码
2018/01/30 Python
python获取当前目录路径和上级路径的实例
2018/04/26 Python
python利用Tesseract识别验证码的方法示例
2019/01/21 Python
Python实现RabbitMQ6种消息模型的示例代码
2020/03/30 Python
python两种注释用法的示例
2020/10/09 Python
纯HTML5+CSS3制作图片旋转
2016/01/12 HTML / CSS
自荐信格式写作方法有哪些呢
2013/11/20 职场文书
计算机专业毕业生求职信分享
2013/12/24 职场文书
大学生实习鉴定评语
2014/04/25 职场文书
小学生安全教育广播稿
2014/10/20 职场文书
《确定位置》教学反思
2016/02/18 职场文书
2019脱贫攻坚工作总结报告范本!
2019/08/06 职场文书
创业计划书之少年玩具店
2019/09/05 职场文书