【php】global的使用与php的全局变量
php的全局变量和其余编程语言是不同的,在大多数的编程语言中,全局变量在其下的函数、类中自己主动生效。除非被局部变量覆盖,或者根本就不同意再声明同样名称与类型的局部变量。可是php中的全局变量不是默认生效的。php中全局变量在函数中使用时必须申明为全局。Global这个keyword在函数中定义才实用。也就是说Global的作用是定义全局变量。可是这个全局变量不是应用于整个站点。而是应用于当前页面,包含include或require的全部文件。
直接用一个样例来说明此问题,例如以下代码:
<?php
$a=5;
function test(){
echo $a;
}
test();
? >
非常easy,声明一个全局变量$a=5,然后声明一个函数test()打印这个全局变量,之后。调用这个test(),依照一般的编程语言的思维。此处的输出必定为5,然而,在实际运行却是例如以下的效果:
直接报错的了,说这个a未定义,简直是无法理喻,但是php就是这样设置,但是我却是须要使用到$a作为全局变量,有可能以下还有非常多函数、非常多类要使用这个$a啊!
这是,你须要每次使用全局变量$a之间,用global这个keyword声明一下。
例如以下代码则是正确示范:
<?php
$a=5;
function test(){
global $a;
echo $a;
}
test();
? >
执行结果例如以下。这样a就能够使用了。每次使用全局变量$a都要这样声明一下,这是php的规则。
值得注意的是,例如以下的代码是错误的:
<? php
global $a;
$a=5;
function test(){
echo $a;
}
test();
? >
执行结果相同如此:
【php】global的使用与php的全局变量的更多相关文章
- 漫谈php全局变量Global
global语句的作用是定义全局变量,例如如果想在函数内访问全局作用域内的变量则可以通过global声明来定义. 下面从语法解释开始分析. 1. 词法解析 查看 Zend/zend_language_ ...
- global 全局变量 nonlocal 局部变量
# x= # def func(): # x= # # func() # print(x) # x=[] # def func(): # x.append() # x.append() # x.app ...
- PHP中全局变量global和$GLOBALS[]的区别分析
$GLOBALS['var']是外部的全局变量本身,global $var是外部$var的同名引用或者指针 一.举例比较 例一: 复制代码 代码如下: <?php $var1 = 1; ...
- Python3基础 global 使函数中的局部变量升格为全局变量
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- php 中全局变量global 的使用
简介 即使开发一个新的大型PHP程序,你也不可避免的要使用到全局数据,因为有些数据是需要用到你的代码的不同部分的.一些常见的全局数据有:程序设定类.数 据库连接类.用户资料等等.有很多方法能够使这些数 ...
- 【PHP】- 全局变量global和$GLOBALS的区别
1.global global关键字的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件. 但是在函数体内定义的global变量, ...
- python程序中用类变量代替global 定义全局变量
在python编程中,一般使用global 关键字来定义全局变量,但是发现 global 关键字在涉及多个文件时,好像存在问题. 比如,单个文件下用global定义使用全局变量的情况 ,看下面的代码 ...
- python3--函数(函数,全局变量和局部变量,递归函数)
1.1函数 1.1.1什么是函数 函数就是程序实现模块化的基本单元,一般实现某一功能的集合.函数名:就相当于是程序代码集合的名称参数:就是函数运算时需要参与运算的值被称作为参数函数体:程序的某个功能, ...
- (转载)教你在PHP中使用全局变量
(转载)http://www.chinaz.com/program/2009/0123/64261.shtml 即使开发一个新的大型PHP程序,你也不可避免的要使用到全局数据,因为有些数据是需要用到你 ...
随机推荐
- iOS8使用TestFlight进行内部测试功能尝鲜
iOS8发布了有一段时间了,我们的策划很新潮的速度给升级到iOS8了.于是XCode5不支持了,只好从MacOS 10.8升级到10.9,再升级到10.9.5,再下载XCode6安装…… 然后前两天上 ...
- XCode工程内多Targets教程
作者 透明de面具 原帖地址 http://www.cocoachina.com/bbs/read.php?tid-10972-fpage-0-toread--page-1.html 相信很 ...
- 【MyEcplise】新装系统,新装的myEcplise使用原来的workspace和maven库,项目没错但是引用的包不能正确找到
项目中都是原来的正确的项目,但是有个感叹号 正确方法: 更新之后如果有别的问题,例如JDK版本变成原始版本等等,请在build path中调整. 并且修改 项目的编译JDK版本 右键项目propert ...
- 一个简单功能的SQL 实现
1.假设有一张表示cj表 Name Subject Result 张三 语文 80 张三 数学 90 张三 物理 85 李四 语文 85 李四 数学 92 李四 物理 89 要求查询结果: 姓名 语文 ...
- Navicat 破解版的安装
因为电脑系统换掉,重装系统,重新配置了一下环境,安装Navicat,现记录一下过程,以便下次查询使用. 我们首先百度搜索一款navicat for mysql然后进行下载. 2 当我们下载完成之后首先 ...
- [置顶]
kubernetes资源类型--pod和job
pod Pod是K8S的最小操作单元,一个Pod可以由一个或多个容器组成:整个K8S系统都是围绕着Pod展开的,比如如何部署运行Pod.如何保证Pod的数量.如何访问Pod等. 特点 Pod是能够被创 ...
- MySQL不能启动 Can't start server : Bind on unix socket: Permission denied
转载博客地址:http://www.linuxidc.com/Linux/2010-04/25709.htm MySQL服务器突然不能启动,查看最后的启动日志如下: 080825 09:38:04 m ...
- python virtualenv virtualenvwrapper
python中的virtualenv模块能够将项目环境分隔开,而不是使用全局的环境,非常实用. 首先pip install virtualenv 如何创建一个环境virtualenv testvir ...
- js获取上传图片的尺寸大小
当上传图片时,有时候需要控制下上传图片的尺寸大小,需要给个提示 //获取图片的尺寸,控制尺寸大小 var reader = new FileReader(), img = new Image(); / ...
- 项目笔记:导出XML和导出全部XML功能
前台代码: //导出一条Xml function btn_createXml(){ var title =$("#editButton").attr("title&quo ...