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

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

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

解决方法:1、利用global关键字在函数内导入全局变量,语法“global 全局变量1, 全局变量2, ...”;2、利用超全局变量“$GLOBALS”访问指定全局变量,语法“$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

猜你喜欢
  • 怎么在vue组件中使用全局变量
    在vue组件中使用全局变量的方法:1.新建vue.js项目;2.使用export方法定义全局变量;3.使用Vue.prototype方法挂载全局变量;4.使用this调用全局变量;具体步骤如下:1.首先,在vue-cli中创建一个vue.j ...
    487
    2023-03-24
    vue
  • python函数怎么声明全局变量
    在python中为函数声明全局变量的两种方法1.使用列表声明全局变量global_var_list = []def update_global_var_list(var):global_var_list.append(var)2.使用字典声 ...
    302
    2023-03-24
    python 全局变量
  • js全局变量和php全局变量的区别是什么
    js全局变量和php全局变量的区别:PHP在函数中调用全局变量需要利用global关键字,该关键字是用来导入全局变量的,而在js中调用全局变量则不需要利用关键字。 ...
    399
    2023-03-24
    PHP
  • Python 使用全局变量
    今天在写以下Python代码时出现了问题。该段代码根据一些URL下载视频:#coding=utf-8def save_case_infos(case_urls):for case_url in case_urls:# ...
    524
    2023-03-24
    全局变量 Python
  • 在Unity中使用全局变量的操作
    这篇文章主要介绍了在Unity中使用全局变量的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 ...
    511
    2023-03-24
    Unity 全局变量使用
  • PHP全局变量有哪些
    这篇文章主要介绍了PHP全局变量有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。PHP 全局变量 - 超全局变量PHP 中的许多预定义变量都是“超全局的”,这意味着它们在 ...
    874
    2023-03-24
    php
  • javascript怎么设置全局变量
    小编给大家分享一下javascript怎么设置全局变量,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!javascript设置全局变量 ...
    524
    2023-03-24
    javascript
  • python全局变量的使用
    问题提出,怎么记录汉诺塔问题中盘子移动的次数?def hanu(n,a,b,c):         if n==1 :               print("move",a,"->",c)               return    ...
    721
    2023-03-24
    全局变量 python
  • php全局变量的含义是什么
    在PHP中,全局变量是在函数外部定义的变量,可以在任何地方进行引用和更改,在php函数中使用全局变量时,可以利用“global”关键字来声明所使用的内容。 ...
    388
    2023-03-24
    php
  • php phpinfo 不能出现php信息怎么办
    php phpinfo不能出现php信息的解决办法:1、找到并打开php.ini文件;2、将其中的short_open_tags打开;3、重新加载php.ini服务即可。 ...
    252
    2023-03-24
    php phpinfo
  • Python函数中的全局变量详解
    大家好,本篇文章主要讲的是Python函数中的全局变量详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览 ...
    208
    2023-03-24
    python函数里引用全局变量 Python全局变量
  • nodejs中怎么定义全局变量
    本篇内容主要讲解“nodejs中怎么定义全局变量”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“nodejs中怎么定义全局变量”吧!在nodejs中,可以利用全局对象 ...
    179
    2023-03-24
    nodejs
  • 树莓派不能安装php怎么办?
    树莓派不能安装php的解决办法:1、将php7.0更换成7.3;2、添加apt源,更新软件包列表;3、安装PHP7.3即可。 ...
    780
    2023-03-24
    树莓派
  • php不能写入中文怎么办
    php不能写入中文的解决办法:1、设置html页面和php页面的编码为“charset=utf-8”;2、通过“mysql_query("set names utf8");”改变客户端的编码。 ...
    961
    2023-03-24
    php
  • php视频不能播放怎么办
    php视频不能播放的解决办法:1、打开相应的php文件;2、更改为二进制模式上传;3、修改为http传输;4、用rsync同步即可。 ...
    610
    2023-03-24
    php
  • Python 全局变量扫盲
    Python没有真正的全局变量,在Java和C++中,全局变量则是程序级别的,站在它们的角度,那么python就是没有全局变量,而在python的角度,是有全局变量,python提供global关键字,可以修改全局变量,在python中的全 ...
    370
    2023-03-24
    全局变量 Python
  • EasyC++全局变量
    这篇文章主要介绍了EasyC++全局变量 ...
    515
    2023-03-24
    EasyC++全局变量 C++全局变量
  • php中var不能用怎么办
    php中var不能用的解决办法:1、打开相应的PHP文件;2、查看Address类对应的“address.inc”代码;3、查找“public”并将其去掉,或者将“public” 改为“var”即可。 ...
    476
    2023-03-24
    php
  • php表单提交不能接收怎么办
    php表单提交不能接收的解决办法:1、打开php.ini配置文件;2、修改php.ini里配置的参数“post_max_sizeupload_max_filesize”和“post_max_size”的大小即可。 ...
    385
    2023-03-24
    php
  • ajax中怎么给全局变量赋值
    这期内容当中小编将会给大家带来有关ajax中怎么给全局变量赋值,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 代码如下:$.ajax({ type:"post", url:"a.action", d ...
    409
    2023-03-24
    ajax
热门问答
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作