位置: 编程技术 - 正文

深入理解PHP变量的值类型和引用类型(php变量底层实现)

编辑:rootadmin

推荐整理分享深入理解PHP变量的值类型和引用类型(php变量底层实现),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php变量的基本概念,简述php变量的作用域,深入理解php变量的概念,深入理解php变量分析,深入理解php变量的概念,什么是php变量,深入理解php变量的概念,深入理解php变量的概念,内容如对您有帮助,希望把文章链接给更多的朋友!

在PHP中,大部分变量类型,如字符串,整型,浮点,数组等都是值类型的,而类和对象是引用类型,在使用的时候,需要注意这一点。

看到网友在讨论PHP的&符号,要彻底理解它的用法,就有必要讨论一下变量的两种形式。

PHP的变量在内存中是这样存储的,变量保存的并不直接是值的内容,而是地址。例如:

我们看起来,似乎变量$a直接存储了 1 这个值。而实际情况是,PHP解释器创建了变量$a,将值:1 存入内存中的某个地方,再将值的地址存到变量$a中。

需要取值时,先找到变量$a中的地址,再根据地址找到变量的值。

往下看:

会输出1,PHP解释器会这样完成这一样代码:找到$a中存储的地址,根据地址找到存在内存某个地方的值,输出到屏幕。

看似一行简单的代码,流程却是这样的。

再往下看:

这里的变量$b 做了一个有趣的操作,&符号取出了$a变量中存储的地址,并存储到$b变量。

深入理解PHP变量的值类型和引用类型(php变量底层实现)

那么,如果使用下面代码:

结果也将是输出1,PHP解释器先取出$b中存储的地址,再根据地址找到值。如果我们做下面的操作:

会发现改变$a的值,$b也跟着变了。其实反过来,改变$b的值,$a的值也会跟这变。

到这一步,我们可以确定,变量$a和$b存储了相同的地址,指向的值是一样的。

那么,我们可以得出结论:它们表示的是同一个变量。

进一步总结,可以得出:如果两个变量存储了相同的地址,它们就是同一个变量。

了解了着一些内容,我们开始介绍值类型和引用类型。

我们先看下面的代码:

将$a的值赋给$b,改变$a的值后,$b的值依然不变,也就是说$a和$b是两个不同的变量,指向不同的地址。这种赋值时会创建不同的变量的形式我们称之为值类型。

再看:

同样将$a的值赋给$b,改变$a后,$b也跟着变了,也就是说$a和$b是同一个变量,指向相同的地址。这种赋值时不会创建新的变量的形式我们称之为引用类型。

PHP统计当前在线用户数实例讲解 通常,当访客访问网站时,页面记录用户的cookie信息,当cookie过期即认为用户不在线。本文中我们使用PHP记录访客IP,并在客户端记录cookie及过期时间,

php防止网站被攻击的应急代码 前不久一个网站竟然被攻击,数据库被刷掉了,幸好客户机器上有数据库备份。遇到这么严重的问题,必须抓紧找出漏洞,防止再次被攻击。各方面检

php解析url并得到url中的参数及获取url参数的四种方式 下面一段代码是php解析url并得到url中的参数,代码如下所示:php$url='

标签: php变量底层实现

本文链接地址:https://www.jiuchutong.com/biancheng/276008.html 转载请保留说明!

上一篇:使用xampp搭建运行php虚拟主机的详细步骤(xampp如何运行php项目)

下一篇:PHP统计当前在线用户数实例讲解(php统计当前在线人数)

  • 公司债券和企业债券哪个风险大
  • 车辆消费税征税范围是什么
  • 一般纳税人可以开免税发票吗
  • 搭赠的商品怎么开票
  • 固定资产出售损失属于广义费用吗
  • 工人受伤医药费计入什么科目
  • 进项税发票不认证可以吗
  • 增值税专用发票几个点
  • 正在注销的公司微信收的款怎么追回
  • 发票上单价可以开0吗
  • 进项税超过销项怎么办?
  • 买烟酒开专票可以抵税吗
  • 重疾险可以扣税吗
  • 消费税征收范围包括
  • 购入材料的应付账款包括商业折扣吗
  • 冲销凭证怎么记账
  • 税号都对开户行错了影响抵扣
  • 收到汇票怎么承兑
  • 电脑图标怎么在下面显示
  • 建造合同收入的内容包括
  • 电子商业汇票会有异地贴现吗
  • 当期应交所得税怎么计算
  • 房租押金未全额缴纳
  • macbook版itunes
  • 出租的厂房房产税谁交
  • 计提长期待摊费用的会计分录
  • php基础
  • pddpic是什么文件
  • 如何选择一款适合自己家庭的凉席
  • 材料委托加工
  • 以本年利润弥补以前年度亏损会影响所有者权益总额吗
  • 销售旧的固定资产 税法规定
  • 资本公积金为什么不能用于弥补亏损
  • 进口的应税消费品,于报关进口时缴纳消费税
  • php 序列化和json性能
  • ChatGPT-Next-Web:Vercel 和 Cloudflare 的快速部署
  • 对公打款打错了
  • flex布局实现垂直居中
  • 自动化工具 业务有哪些
  • vue国际化解决方案
  • 深度学习数据集—水果数据集大合集
  • dom常用方法
  • 大小周是否违反劳动法
  • 机关事业单位以外包服务方式长期用工
  • python导入模块的本质
  • 如何在sql server中建立一个表
  • 同一控制下企业合并
  • 建信融通e信通怎样转让
  • 专设销售机构的办公费计入
  • 其他权益工具投资交易费用计入哪里
  • 商场进行打折促销活动,消费金额(p)
  • 销售货款是什么
  • 购入需要安装的设备计入什么科目
  • 待抵扣进项税额和进项税额的区别
  • 附加税 减免
  • 用友作废的凭证怎么恢复
  • 政府补助收入是指县级以上工会收到的
  • 公司经营范围怎么填
  • watchs2最新版本
  • mac设置outlook默认邮箱
  • win7开机后网络一直转圈怎么回事
  • 关闭gui引导有什么用
  • Win7系统无法安装SQL2000
  • windows休眠文件
  • win10mobile最新版本
  • bios升级失败后如何恢复
  • js怎么理解
  • 批处理文件.bat
  • ajax的异步是什么意思
  • shell脚本函数及传参
  • nodejs websocket客户端
  • vue router 组件
  • 常用的八种教学方法
  • Android Toast设置弹窗大小
  • python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)
  • unity资源库
  • 以下关于android应用程序的目录结构描述中,不正确的是
  • 重庆市税收排名地区
  • 如何理解计算消费税时的(1
  • 全国税务稽查会议
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设