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+mysql保存和输出文件
Oct 09 PHP
在PHP3中实现SESSION的功能(三)
Oct 09 PHP
逆序二维数组插入一元素的php代码
Jun 08 PHP
PHP 图片水印类代码
Aug 27 PHP
php实现分页工具类分享
Jan 09 PHP
PHP动态生成javascript文件的2个例子
Apr 11 PHP
PHP开发中AJAX技术的简单应用
Dec 11 PHP
highchart数据源纵轴json内的值必须是int(详解)
Feb 20 PHP
Yii Framework框架使用PHPExcel组件的方法示例
Jul 24 PHP
laravel 实现用户登录注销并限制功能
Oct 24 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
Feb 29 PHP
PHP7 参数处理机制修改
Mar 09 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解决URL中文GBK乱码问题的两种方法
2014/06/03 PHP
ThinkPHP中类的构造函数_construct()与_initialize()的区别详解
2017/03/13 PHP
浅析jQuery中常用的元素查找方法总结
2013/07/04 Javascript
jquery制作LED 时钟特效
2015/02/01 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
2016/03/29 Javascript
详解JavaScript中Hash Map映射结构的实现
2016/05/21 Javascript
JavaScript函数参数的传递方式详解
2017/03/06 Javascript
js编写简单的聊天室功能
2017/08/17 Javascript
jQuery幻灯片插件owlcarousel参数说明中文文档
2018/02/27 jQuery
完美解决linux下node.js全局模块找不到的情况
2018/05/16 Javascript
使用Easyui实现查询条件的后端传递并自动刷新表格的两种方法
2019/09/09 Javascript
js重写alert事件(避免alert弹框标题出现网址)
2020/12/04 Javascript
Python continue语句用法实例
2014/03/11 Python
手动实现把python项目发布为exe可执行程序过程分享
2014/10/23 Python
Python中的异常处理学习笔记
2015/01/28 Python
使用Python脚本在Linux下实现部分Bash Shell的教程
2015/04/17 Python
python实现读取大文件并逐行写入另外一个文件
2018/04/19 Python
如何安装多版本python python2和python3共存以及pip共存
2018/09/18 Python
python实现汽车管理系统
2018/11/30 Python
Django unittest 设置跳过某些case的方法
2018/12/26 Python
python matplotlib库绘制散点图例题解析
2019/08/10 Python
Python爬取豆瓣数据实现过程解析
2020/10/27 Python
CSS3 网页下拉菜单代码解释 中文翻译
2010/02/27 HTML / CSS
HTML5输入框下拉菜单功能的示例代码
2020/09/08 HTML / CSS
DHC中国官方购物网站:日本通信销售No.1化妆品
2016/08/20 全球购物
New Balance俄罗斯官方网上商店:购买运动鞋
2020/03/02 全球购物
CK加拿大官网:Calvin Klein加拿大
2020/03/14 全球购物
主键(Primary Key)约束和唯一性(UNIQUE)约束的区别
2013/05/29 面试题
小学教师国培感言
2014/02/08 职场文书
小学教师读书活动总结
2014/07/08 职场文书
销售顾问工作计划书
2014/08/15 职场文书
十佳家长事迹材料
2014/08/26 职场文书
向国旗敬礼活动小结
2014/09/27 职场文书
写好Python代码的几条重要技巧
2021/05/21 Python
springboot @ConfigurationProperties和@PropertySource的区别
2021/06/11 Java/Android
浅谈MySql整型索引和字符串索引失效或隐式转换问题
2021/11/20 MySQL