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与SQL注入攻击[二]
Apr 17 PHP
PHP之短标签开启设置
Jun 17 PHP
php数据库备份还原类分享
Mar 20 PHP
PHP mkdir()无写权限的问题解决方法
Jun 19 PHP
php修改指定文件后缀的方法
Sep 11 PHP
php使用iconv中文截断问题的解决方法
Feb 11 PHP
PHP常用的三种设计模式
Feb 17 PHP
windows下的WAMP环境搭建图文教程(推荐)
Jul 27 PHP
详细解读php的命名空间(二)
Feb 21 PHP
实例讲解php将字符串输出到HTML
Jan 27 PHP
PDO::getAvailableDrivers讲解
Jan 28 PHP
PHP常用函数之格式化时间操作示例
Oct 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
《被神捡到的男人》动画化计划进行中!
2020/03/06 日漫
PHP Document 代码注释规范
2009/04/13 PHP
PHP获取当前文件所在目录 getcwd()函数
2009/05/13 PHP
php rsa加密解密使用详解
2015/01/14 PHP
PHP符合PSR编程规范的实例分享
2016/12/21 PHP
laravel model模型定义实现开启自动管理时间created_at,updated_at
2019/10/17 PHP
JS无法捕获滚动条上的mouse up事件的原因猜想
2012/03/21 Javascript
jquery必须知道的一些常用特效方法及使用示例(整理)
2013/06/24 Javascript
JS通过分析userAgent属性来判断浏览器的类型及版本
2014/03/28 Javascript
jQuery实现的指纹扫描效果实例(附演示与demo源码下载)
2016/01/26 Javascript
iScroll.js 使用方法参考
2016/05/16 Javascript
jQuery增加、删除及修改select option的方法
2016/08/19 Javascript
AngularJS实现星星等级评分功能
2016/09/24 Javascript
Jquery实时监听input value的实例
2017/01/26 Javascript
react-router browserHistory刷新页面404问题解决方法
2017/12/29 Javascript
JS实现图片拖拽交换效果
2018/11/30 Javascript
原生js实现五子棋游戏
2020/05/28 Javascript
如何正确解决VuePress本地访问出现资源报错404的问题
2020/12/03 Vue.js
在Django中管理Users和Permissions以及Groups的方法
2015/07/23 Python
实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250
2016/01/20 Python
python 安装virtualenv和virtualenvwrapper的方法
2017/01/13 Python
python3中获取文件当前绝对路径的两种方法
2018/04/26 Python
python3利用Socket实现通信的方法示例
2019/05/06 Python
Python Selenium安装及环境配置的实现
2020/03/17 Python
详解使用canvas保存网页为pdf文件支持跨域
2018/11/23 HTML / CSS
h5调用摄像头的实现方法
2016/06/01 HTML / CSS
英国奢侈品牌时尚购物平台:Farfetch(支持中文)
2020/02/18 全球购物
团结演讲稿范文
2014/05/23 职场文书
知识就是力量演讲稿
2014/09/13 职场文书
土地转让协议书
2014/09/27 职场文书
北大自主招生自荐信
2015/03/04 职场文书
大专护理专业自荐信
2015/03/25 职场文书
python3 hdf5文件 遍历代码
2021/05/19 Python
victoriaMetrics库布隆过滤器初始化及使用详解
2022/04/05 Golang
Python内置包对JSON文件数据进行编码和解码
2022/04/12 Python
Python中Schedule模块使用详解 周期任务神器
2022/04/19 Python