Global 关键字|学习笔记

简介: 快速学习 Global 关键字

开发者学堂课程【PHP 基础入门课程(下)Global 关键字】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/710/detail/12635


Global 关键字


内容介绍:

一、跨作用域访问

二、步骤

三、示例

四、小结


一、跨作用域访问

跨作用域访问:即在局部作用域访问全局变量,或者在全局作用域访问局部变量

在函数内部使用 qlobal 关键字声明变量,它有如下特殊含义:

(1)在函数内部声明一个局部变量。(声明的是局部变量本身)

(2)在函数外部声明一个全局变量。(如果当前申明的变量名在全局空间存在:系统直接引用。)

(3)两个变量指向同一个内存。

(4)globa 声明变量时,不能赋值 。(也就是说globa在声明变量时可以声明一个内部的局部变量和一个外部的全局变量)


二、步骤

1、定义函数在函数内部使用 qlobal 声明变量。

(1)函数外存在同名全局变量:内部创建一个同名局部变量。

(2)函数外不存在同名变量:内部创建一个局部变量,外部创建一个同名全局变量。

2、访问修改

(1)外部有:可以直接访问。

(2)外部没有:内部可以直接给值。

3、函数运行结束

(1)内部局部变量消失

(2)外部全局变量存在


三、示例

1、局部访问全局变量

<?php

# global 关键字跨域

#定义全局变量

$a =100;

function display() {

#声明变量:引入全局

global $a;#必须同名,此时不能赋值,若赋值会出现问题

echo $a++;

}

display();#输出100(说明内部访问到全局变量)

echo $a;#输出101(说明内部修改影响到外部)

2、局部声明全局变量,全局作用域访问

function display(){

#声明全局变量

global  $b;

$b = ‘hello world’;

}

display1();#运行没有问题,说明 global 声明的变量,是一个全局变量可以直接访问。

echo $b;

运行结果:

image.png

或者如下:

function display(){

#声明全局变量

global  $b;

$b = 10;

}

echo $b;#报错:提示未定义变量

display();

echo $b;#输出10(说明局部变量也是一个全局变量)


四、小结

1、global 是局部作用域声明全局变量的关键字。

(1)global 只能声明,不能赋值 。

(2)globa 声明逻辑

全局变量存在:内部创建一个同名局部变量,并执行外部全局变量·

全局变量不存在:内部创建一个局部变量,外部创建一个同名全局变量,并指向同一个内存地址(它们彼此的修改都会影响到彼此)

2、跨作用域访问比较少用,一般要跨作用域访问的都是访问预定义变量

3、作用域划分的目的

(1)方便开发者更好的管理数据·

(2)为了保证数据的安全(同名变量在不同作用域互不干扰)

相关文章
|
机器学习/深度学习 安全 算法
担心prompt泄露隐私?这个框架让LLaMA-7B完成安全推理
担心prompt泄露隐私?这个框架让LLaMA-7B完成安全推理
681 0
|
2月前
|
人工智能 监控 算法
迈向“可解释性GEO”:AI搜索时代的深度思考与实践探索
资深从业者王耀恒融合15年经验,首创可解释性GEO方法论,破解AI搜索黑箱。通过分层战略框架与闭环技术体系,助力企业构建可持续的数字信任资产,推动AI内容生态健康发展。(239字)
|
2月前
|
域名解析 存储 弹性计算
阿里云渠道商:如何把阿里云镜像迁移到服务器上?
阿里云镜像服务提供系统迁移与应用级迁移方案,支持快速、安全的跨环境迁移。涵盖镜像创建、传输、验证全流程,保障业务连续与数据完整。附详细步骤与最佳实践,助力企业平滑上云。
|
4月前
|
安全 IDE 开发工具
电脑错误代码0xc0000001解决步骤
以下是解决电脑错误代码0xc0000001的详细步骤,综合了多个高可信度来源的修复方案:
|
6月前
|
存储 机器学习/深度学习 安全
阿里云计算型实例解析:c7/c8y/c8i/c9i性能对比与场景化选型指南参考
在阿里云目前的活动中,属于计算型的热门云服务器实例规格主要有计算型c7、计算型c8y、计算型c8i和计算型c9i。这些实例规格既有七代和八代实例规格,也有最新推出的九代实例规格。本文将对这些实例规格进行详细对比,并提供场景化选型指南参考。
|
11月前
|
存储 供应链 物联网
《区块链为翼,开启物联网数据可信共享新时代》
在万物互联时代,物联网(IoT)设备产生海量数据,但数据共享面临信任缺失、孤岛化等困境。区块链的分布式账本技术通过去中心化、不可篡改、可追溯和共识机制,为解决这些问题提供了新思路。它确保数据来源可信、传输安全,并通过智能合约实现自动化、透明化的数据共享。应用案例如沃尔玛的食品供应链追踪和GE的工业设备监控,展示了其巨大潜力。尽管存在性能瓶颈和隐私保护挑战,区块链有望打破数据孤岛,释放物联网数据价值,推动产业创新与变革。
300 28
|
监控 关系型数据库 MySQL
如何优化MySQL数据库的索引以提升性能?
如何优化MySQL数据库的索引以提升性能?
406 0
|
监控 数据可视化 测试技术
Apifox 如何进行 API 自动化测试?经验之谈
选择 Apifox 来进行 API 自动化测试能够确保每次迭代的质量,避免引入新的 bug,还要实现自动化测试、定时测试、产品监控、可视化测试、持续集成等,帮助提高效率,通过设计和执行有针对性的测试用例,来全面验证产品功能,确保软件系统能够正常运行,减少上线后的问题。
Apifox 如何进行 API 自动化测试?经验之谈
ly~
|
传感器 存储 供应链
大数据在供应链管理中的具体应用案例
在供应链管理中,大数据的应用显著提升了效率与预测准确性。例如,沃尔玛利用销售数据与外部信息如天气预报,实现精准需求预测,提前调配应急物资,既满足顾客需求又减少库存积压。亚马逊则通过分析商品入库时间、销售速度等数据,优化库存水平,确保畅销品备货充足,小众品库存灵活,从而降低运营成本。DHL借助运输工具上的传感器收集的数据,优化物流路线,避免拥堵并合理装载货物,同时预测设备故障,减少物流延误,提升整体运输效率。
ly~
1807 2
|
iOS开发 MacOS Windows
Axure下载及汉化激活
Axure RP 9 的下载、汉化及激活方法。首先从官网下载并安装最新版 Axure RP 9,然后下载并解压语言包,将「lang」文件夹复制到 Axure 安装目录中。Windows 系统路径为 `c://Program Files/Axure/Axure RP 9.0/` 或 `c://Program Files (x86)/Axure/Axure RP 9.0/`,macOS 系统需通过“显示包内容”操作进行粘贴。最后使用提供的激活码完成激活。
1751 0