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 一元分词算法
Nov 30 PHP
PHP 数据结构 算法描述 冒泡排序 bubble sort
Jul 10 PHP
php 目录遍历、删除 函数的使用介绍
Apr 28 PHP
php上传图片到指定位置路径保存到数据库的具体实现
Dec 30 PHP
PHP中HTML标签过滤技巧
Jan 07 PHP
PHP常用正则表达式集锦
Aug 17 PHP
PHP对象递归引用造成内存泄漏分析
Aug 28 PHP
php+mysqli事务控制实现银行转账实例
Jan 29 PHP
PHP获取当前日期和时间及格式化方法参数
May 11 PHP
使用PHP+AJAX让WordPress动态加载文章的教程
Dec 11 PHP
jQuery+php简单实现全选删除的方法
Nov 28 PHP
PHP查找一列有序数组是否包含某值的方法
Feb 07 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
Wordpress php 分页代码
2009/10/21 PHP
php数组(array)输出的三种形式详解
2013/06/05 PHP
解析Linux下Varnish缓存的配置优化
2013/06/20 PHP
PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件
2014/09/24 PHP
Sublime里直接运行PHP配置方法
2014/11/28 PHP
PHP 验证登陆类分享
2015/03/13 PHP
JQuery 学习笔记 选择器之二
2009/07/23 Javascript
利用jQuery接受和处理xml数据的代码(.net)
2011/03/28 Javascript
通过jquery还原含有rowspan、colspan的table的实现方法
2012/02/10 Javascript
JavaScript实现列出数组中最长的连续数
2014/12/29 Javascript
JavaScript闭包详解
2015/02/02 Javascript
简单介绍JavaScript中字符串创建的基本方法
2015/07/07 Javascript
认识Knockout及如何使用Knockout绑定上下文
2015/12/25 Javascript
用jQuery实现优酷首页轮播图
2017/01/09 Javascript
JavaScript实现短暂提示框功能
2018/04/04 Javascript
小程序实现录音上传功能
2019/11/22 Javascript
JavaScript利用键盘码控制div移动
2020/03/19 Javascript
python二叉树遍历的实现方法
2013/11/21 Python
python使用fcntl模块实现程序加锁功能示例
2017/06/23 Python
Python实现弹球小游戏
2020/08/01 Python
Flask中sqlalchemy模块的实例用法
2020/08/02 Python
python两个list[]相加的实现方法
2020/09/23 Python
python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境
2020/12/14 Python
国际知名军事风格休闲装品牌:Alpha Industries(阿尔法工业)
2017/05/24 全球购物
中科软笔试题和面试题
2014/10/07 面试题
Java如何支持I18N?
2016/10/31 面试题
施工资料员的岗位职责
2013/12/22 职场文书
高中打架检讨书
2014/02/13 职场文书
探亲假请假条
2014/04/11 职场文书
离职保密承诺书
2014/05/28 职场文书
校长师德表现自我评价
2015/03/04 职场文书
企业工会工作总结2015
2015/05/13 职场文书
2015小学五年级班主任工作总结
2015/05/21 职场文书
农村婚礼司仪主持词
2015/06/29 职场文书
劳动保障事务所个人工作总结
2015/08/12 职场文书
浅谈JS和Nodejs中的事件驱动
2021/05/05 NodeJs