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 相关文章推荐
真正的ZIP文件操作类(php)
Jul 21 PHP
DedeCMS dede_channeltype表字段注释
Apr 07 PHP
解析php中static,const与define的使用区别
Jun 18 PHP
解析使用ThinkPHP应该掌握的调试手段
Jun 20 PHP
PHP使用CURL实现多线程抓取网页
Apr 30 PHP
PHP检测链接是否存在的代码实例分享
May 06 PHP
微信公众号开发客服接口实例代码
Oct 21 PHP
PHP面向对象程序设计之对象生成方法详解
Dec 02 PHP
php双层循环(九九乘法表)
Oct 23 PHP
基于CI(CodeIgniter)框架实现购物车功能的方法
Apr 09 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
Dec 25 PHP
PHP手机号码及邮箱正则表达式实例解析
Jul 11 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
深入mysql_fetch_row()与mysql_fetch_array()的区别详解
2013/06/05 PHP
YII Framework框架教程之缓存用法详解
2016/03/14 PHP
PHP中使用foreach()遍历二维数组的简单实例
2016/06/13 PHP
跟随鼠标旋转的文字
2006/11/30 Javascript
jquery中防刷IP流量软件影响统计的一点对策
2011/07/10 Javascript
基于Jquery插件开发之图片放大镜效果(仿淘宝)
2011/11/19 Javascript
Bootstrap和Angularjs配合自制弹框的实例代码
2016/08/24 Javascript
JS自动生成动态HTML验证码页面
2017/06/14 Javascript
js作用域和作用域链及预解析
2019/04/11 Javascript
基于Node的Axure文件在线预览的实现代码
2019/08/28 Javascript
解决layer.prompt无效的问题
2019/09/24 Javascript
微信小程序中网络请求缓存的解决方法
2019/12/29 Javascript
Vue简单实现原理详解
2020/05/07 Javascript
解决vue项目获取dom元素宽高总是不准确问题
2020/07/29 Javascript
Vue 实现对quill-editor组件中的工具栏添加title
2020/08/03 Javascript
JavaScript中作用域链的概念及用途讲解
2020/08/06 Javascript
[40:06]DOTA2亚洲邀请赛 4.3 突围赛 Liquid vs VGJ.T 第一场
2018/04/04 DOTA
python选择排序算法的实现代码
2013/11/21 Python
Python Web框架Flask中使用七牛云存储实例
2015/02/08 Python
python高手之路python处理excel文件(方法汇总)
2016/01/07 Python
Python利用matplotlib生成图片背景及图例透明的效果
2017/04/27 Python
利用标准库fractions模块让Python支持分数类型的方法详解
2017/08/11 Python
Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息示例
2017/08/21 Python
Python实现按照指定要求逆序输出一个数字的方法
2018/04/19 Python
使用SQLAlchemy操作数据库表过程解析
2020/06/10 Python
Python pip安装第三方库实现过程解析
2020/07/09 Python
利用python 读写csv文件
2020/09/10 Python
CSS3 linear-gradient线性渐变生成加号和减号的方法
2017/11/21 HTML / CSS
美国家居装饰网上商店:Lulu & Georgia
2019/09/14 全球购物
行政总经理岗位职责
2013/12/05 职场文书
开业庆典邀请函
2014/01/08 职场文书
菜篮子工程实施方案
2014/03/08 职场文书
元旦晚会活动总结
2014/07/09 职场文书
自习课吵闹检讨书范文
2014/09/26 职场文书
2015年销售助理工作总结
2015/05/11 职场文书
开网店计划分析
2019/07/30 职场文书