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 相关文章推荐
WINDOWS服务器安装多套PHP的另类解决方案
Oct 09 PHP
解析VS2010利用VS.PHP插件调试PHP的方法
Jul 19 PHP
PHP PDOStatement:bindParam插入数据错误问题分析
Nov 13 PHP
初识php MVC
Sep 10 PHP
PHP实现无限级分类(不使用递归)
Oct 22 PHP
浅谈PHP中foreach/in_array的使用
Nov 02 PHP
调试WordPress中定时任务的相关PHP脚本示例
Dec 10 PHP
joomla组件开发入门教程
May 04 PHP
非常实用的php验证码类
May 15 PHP
php中__toString()方法用法示例
Dec 07 PHP
PHP addslashes()函数讲解
Feb 03 PHP
PHP标准库(PHP SPL)详解
Mar 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
DC游戏Steam周三特惠 《蝙蝠侠》阿卡姆系列平史低
2020/04/09 欧美动漫
了解PHP的返回引用和局部静态变量
2015/06/04 PHP
PHP接收json 并将接收数据插入数据库的实现代码
2015/12/01 PHP
php 猴子摘桃的算法
2017/06/20 PHP
详解提高使用Java反射的效率方法
2019/04/29 PHP
关于Javascript 的 prototype问题。
2007/01/03 Javascript
javascript 点击整页变灰的效果(可做退出效果)。
2008/01/09 Javascript
js实现网页自动刷新可制作节日倒计时效果
2014/05/27 Javascript
jquery插件开发之选项卡制作详解
2017/08/30 jQuery
VUE 配置vue-devtools调试工具及安装方法
2018/09/30 Javascript
小程序页面动态配置实现方法
2019/02/05 Javascript
js实现菜单跳转效果
2020/12/11 Javascript
[02:09]DOTA2辉夜杯 EHOME夺冠举杯现场
2015/12/28 DOTA
[03:48]大碗DOTA
2019/07/25 DOTA
Python切片知识解析
2016/03/06 Python
python中字符串类型json操作的注意事项
2017/05/02 Python
插入排序_Python与PHP的实现版(推荐)
2017/05/11 Python
Python学习笔记之open()函数打开文件路径报错问题
2018/04/28 Python
查看Django和flask版本的方法
2018/05/14 Python
Python设计模式之原型模式实例详解
2019/01/18 Python
python ChainMap的使用和说明详解
2019/06/11 Python
python SQLAlchemy 中的Engine详解
2019/07/04 Python
Pytorch Tensor 输出为txt和mat格式方式
2020/01/03 Python
Pytorch实现神经网络的分类方式
2020/01/08 Python
Python 在局部变量域中执行代码
2020/08/07 Python
5 分钟读懂Python 中的 Hook 钩子函数
2020/12/09 Python
英国顶尖手表珠宝品牌独家授权经销商:HS Johnson
2020/10/28 全球购物
大学四年个人自我小结
2014/03/05 职场文书
体育之星事迹材料
2014/05/11 职场文书
政府法律服务方案
2014/06/14 职场文书
交通事故死亡赔偿协议书
2014/12/03 职场文书
2016年“5.12”国际护士节活动总结
2016/04/06 职场文书
奖学金申请书(范文)
2019/08/14 职场文书
Python爬虫入门案例之爬取二手房源数据
2021/10/16 Python
vue+iview实现手机号分段输入框
2022/03/25 Vue.js
Kubernetes控制节点的部署
2022/04/01 Servers