广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php全局变量在函数内不能使用怎么办
  • 192
分享到

php全局变量在函数内不能使用怎么办

php全局变量函数 2018-03-28 06:03:21 192人浏览 绘本
摘要

本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑一般情况下全局变量在函数内是不能使用,但有时我们就必须要在函数内使用全局变量,这要怎么办?php提供了两种解决方法: global关键字和$GLOBALS超全局变量。方

教程操作环境:windows7系统、PHP7.1版,DELL G3电脑

一般情况下全局变量在函数内是不能使用,但有时我们就必须要在函数内使用全局变量,这要怎么办?

php提供了两种解决方法: global关键字和$GLOBALS超全局变量。

方法1、利用global关键字

<?php
$a = 1;
$b = 2;
$c = 3;
function demo(){
	global $a,$b,$c;
    echo '$a = '.$a;
    echo '<br>$b = '.$b;
    echo '<br>$c = '.$c;
}
demo();
?>

看看输出结果为:

$a = 1
$b = 2
$c = 3

分析:

global关键字的作用是:导入全局变量,利用global 变量1, 变量2, ...的形式把全局变量1, 变量2...导入到一个函数的局部范围内,就可以在函数内部使用在函数外部定义的全局变量了。

使用 global 关键字需要注意一下几点:

  • global 关键字,只能在函数内部使用,不能在函数外部使用;

  • global 关键字只能用来引用函数外部的全局变量,在引用时不能直接赋值,赋值和声明语句需要分开写;

  • 在函数内部销毁一个使用 global 关键字修饰的变量时,函数外部的变量不受影响。

方法2:利用$GLOBALS超全局变量

<?php
$a = 1;
$b = 2;
$c = 3;
function demo(){
    echo '$a = '.$GLOBALS['a'];
    echo '<br>$b = '.$GLOBALS['b'];
    echo '<br>$c = '.$GLOBALS['c'];
}
demo();
?>

输出结果为:

$a = 1
$b = 2
$c = 3

分析:

$GLOBALS是一种预定义变量(又叫超全局变量),是包含所有变量的全局组合数组,变量的名称就是数组的键,可以使用$GLOBALS['变量名']的形式来访问指定全局变量。只要是出现过的全局变量,就可以通过$GLOBALS这个数组取得。

global和$GLOBALS的区别

  • global只能在函数内部使用,不能在函数外部使用;而$GLOBALS 可以在程序的任意位置(函数内外)都能使用。

  • 在函数内部销毁一个使用 global 关键字修饰的变量时,函数外部的变量不受影响;而$GLOBALS是有影响的。

    原因:

    使用 global 关键字修饰的$var变量时,是对函数外部同名变量的引用,内外是两个互不影响的变量;

    而 $GLOBALS['var'] 指的就是函数外部变量本身,是一个变量。

--结束END--

本文标题: php全局变量在函数内不能使用怎么办

本文链接: https://www.lsjlt.com/news/244.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php全局变量在函数内不能使用怎么办
    本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑一般情况下全局变量在函数内是不能使用,但有时我们就必须要在函数内使用全局变量,这要怎么办?PHP提供了两种解决方法: global关键字和$GLOBALS超全局变量。方...
    99+
    2018-03-28
    php 全局变量 函数
  • PHP全局变量怎么在函数中调用
    这篇文章主要讲解了“PHP全局变量怎么在函数中调用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP全局变量怎么在函数中调用”吧!在介绍函数内部调用全局变量方法之前,我们来了解一下变量作用...
    99+
    2023-06-20
  • PHP如何在函数内部访问全局变量
    在PHP中,全局变量是函数、类和脚本中可访问的变量。这些变量可通过指定$GLOBALS数组来声明和初始化,也可以在函数内部声明为全局变量。然而,在函数中访问全局变量却不太容易,因为函数是一种本地作用域的结构体,那么该如何在函数内部访问全局变...
    99+
    2023-05-14
  • python怎么在函数中调用全局变量
    在Python中,如果要在函数中调用全局变量,可以使用`global`关键字将变量声明为全局变量。下面是一个示例:```python...
    99+
    2023-09-25
    python
  • PHP超级全局变量怎么使用
    本文小编为大家详细介绍“PHP超级全局变量怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“PHP超级全局变量怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。理解PHP超级全局超级全局变量是一种特殊的...
    99+
    2023-07-04
  • PHP变量怎么在函数调用中保持不变
    今天小编给大家分享一下PHP变量怎么在函数调用中保持不变的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。首先,我们需要理解PH...
    99+
    2023-07-05
  • 为什么不要在 Flutter 中使用全局变量
    目录前言Flutter 中的全局变量是什么?Flutter 中使用全局变量的缺点1. 复杂的代码维护过程2. 全局变量使单元测试变得痛苦3. 全局变量导致“面条&rdqu...
    99+
    2022-11-13
  • Ajax获取回调函数无法赋值给全局变量怎么办
    小编给大家分享一下Ajax获取回调函数无法赋值给全局变量怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!比如我在别的方法想使用getTree执行后的到的值va...
    99+
    2023-06-08
  • 怎么在vue组件中使用全局变量
    在vue组件中使用全局变量的方法:1.新建vue.js项目;2.使用export方法定义全局变量;3.使用Vue.prototype方法挂载全局变量;4.使用this调用全局变量;具体步骤如下:首先,在vue-cli中创建一个vue.js项...
    99+
    2022-10-16
  • php怎么使用函数销毁变量
    小编给大家分享一下php怎么使用函数销毁变量,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!在开始文章之前,我们先来看一下什么是变量的销毁。PHP的变量或对象的销毁可以分成显式销毁和隐式销毁:显式销毁,当对象没有被引用时就会...
    99+
    2023-06-20
  • php怎么使用函数返回一个变量
    小编给大家分享一下php怎么使用函数返回一个变量,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在php中,我们时常会需要将变量返回或输出,那么这时候我们应该怎么去...
    99+
    2023-06-20
  • 怎么使用PHP函数来检测变量的类型
    本篇内容介绍了“怎么使用PHP函数来检测变量的类型”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!PHP中提供了许多检测数据类型的函数,但大致...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作