`
hanbaohong
  • 浏览: 387526 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

PHP 全局变量在用户自定义函数内部不可见

    博客分类:
  • PHP
 
阅读更多

全局变量是定义在任何函数之外,其作用域是整个PHP文件,但在函数内部不可见,若要使其可见就需要用global 声明。

 

<?php
$val1 = 1;
$val2 = 2;
function test()
{
   echo "start\n";
   echo "val1: ".$val1."\n";                                // 不可见
      echo "val2: ".$val2."\n";                             // 不可见

   global $val2;                                    //global声明了$val2, 使其可见
   echo "声明:global val2 以后\n"; 
      echo "val2: ".$val2."\n";                                //$val2 可见了
   $val2 = 100; 
   echo "end\n";
   $val1 = 100;                                                    //只是局部变量
}
test();
echo "调用了test()以后:\nval2 = ".$val2."\n";      //$val2被test()函数改变了
echo "val1 = ".$val1."\n";                                    //没有被test()改变
?>

 
结果:

start
val1:
val2:
声明:global val2 以后
val2: 2
end


调用了test()以后:
val2 = 100
val1 = 1

分享到:
评论

相关推荐

    PHP全局变量与超级全局变量区别分析

    本文分析了PHP全局变量与超级全局变量区别。分享给大家供大家参考,具体如下: 全局变量就是在函数外面定义的变量。不能在函数中直接使用。因为它的作用域不会到函数内部。所以在函数内部使用的时候常常看到类似...

    PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)

    主要介绍了PHP入门教程之自定义函数用法,结合实例形式分析了php关于自定义函数的创建、返回值、参数、调用方法以及全局变量、魔法常量的使用等相关技巧,需要的朋友可以参考下

    BUUCTF-Web-Mark loves cat变量函数覆盖

    经常导致变量覆盖漏洞场景有:$使用不当,extract()函数使用不当,parse_str()函数使用不当,import_request_variables()使用不当,开启了全局变量注册等。 全局变量覆盖 extarct()变量覆盖 遍历初始化变量 ...

    php变量范围介绍

    但是,在用户自定义函数中,一个局部函数范围将被引入。任何用于函数内部的变量按缺省情况将被限制在局部函数范围内,此时为局部变量。 PHP 中全局变量在函数中使用时必须申明为global。 在函数中使用global声明的...

    PHP预定义超全局数组变量小结

    不用声明,php脚本中默认存在,因为在php中不用定义,所以在自定义变量是应避免和预定的全局变量同名 c.在全局范围内自动生效,即在函数中直接就可以使用,不用使用global关键字访问 2.超全局变量数组 a.$_SERVER ...

    php 全局变量范围分析

    但是,在用户自定义函数中,一个局部函数范围将被引入。任何用于函数内部的变量按缺省情况将被限制在局部函数范围内。 复制代码 代码如下: &lt;?php $a = 1 ; /* global scope */ function Test () { echo $a ; /* ...

    浅析php变量作用域的一些问题

    昨晚就与到这么一个问题,是全局变量在函数中的问题。今天搜索了一下,发现一篇相当不错的...但是,在用户自定义函数中,一个局部函数范围将被引入。任何用于函数内部的变量按缺省情况将被限制在局部函数范围内。范例:

    大学php经典试题

    6:php中声明全局变量的关键字是GLObal 7:有两种不同的为函数传递参数的方法。第一种也是最普遍的一种就是按值(value)传递,另一种是按引用(reference)传递。 8: 数组的每个实体都包含两项:键和值。PHP数组分为...

    XPHPFramework(一个简单的PHP框架)V1.0.2

    XPHP Framework V1.0.2使用 1:$this-&gt;_XPHP是框架全局变量 可以看到载入的文件,用户配置文件,url参数,程序运行时间,程序消耗内存. 2:自定义载入类库(函数) 程序中直接使用函数. 3:自定义载入类库(class) 程序中...

    PHP探针 V1.0 Build 0301

    部分功能 +自定义公告 +服务器特性 -服务器时间 -服务器域名 -服务器操作系统 -服务器解译引擎 -PHP版本 -本文件路径 +PHP基本特性 -显示错误信息display_errors -自动定义全局变量register_globals -程序最多允许...

    史上最全韩顺平传智播客PHP就业班视频,10月份全集

    函数再回顾 自定义函数 8-23 2.位运算① 8-23 3.位运算② 8-23 4.数组介绍 数组的创建 ?榈谋槔? 8-23 5.数组的引用 数组使用细节① 8-23 6.数组使用细节② 数组运算符 数组作业评讲① 数组小结 8-24 1.回顾 8-24 2...

    史上最全韩顺平传智播客PHP就业班视频,9月份全集

    函数再回顾 自定义函数 8-23 2.位运算① 8-23 3.位运算② 8-23 4.数组介绍 数组的创建 ?榈谋槔? 8-23 5.数组的引用 数组使用细节① 8-23 6.数组使用细节② 数组运算符 数组作业评讲① 数组小结 8-24 1.回顾 8-24 2...

    php学习笔记

    全局变量 37 七.预定义变量 37 函数 39 数组 40 一.用字符串做下标 40 二.使用小数作为key将,自动截断小数部分 40 四.删除数组元素 40 六.二维数组。 40 类 41 一.重载 41 二.覆盖 41 三.抽象类 41 四....

    php网络开发完全手册

    4.1.2 用户自定义函数的编写 58 4.2 PHP常用函数 59 4.2.1 获得日期时间信息的函数getdate 60 4.2.2 获得当前时间的函数 4.2.2 gettimeofday 61 4.2.3 日期验证函数checkdate 61 4.2.4 格式化本地时间日期的函数date...

    (全)传智播客PHP就业班视频完整课程

    函数再回顾 自定义函数 8-23 2.位运算① 8-23 3.位运算② 8-23 4.数组介绍 数组的创建 ?榈谋槔? 8-23 5.数组的引用 数组使用细节① 8-23 6.数组使用细节② 数组运算符 数组作业评讲① 数组小结 8-24 1.回顾 8-24 2...

    C1G的PHP探针 V1.0 Build 0301.rar

    -自动定义全局变量register_globals -程序最多允许使用内存量memory_limit -允许最大上传文件upload_max_filesize -被禁用的函数disable_functions -php信息phpinfo -目前还有空余空间diskfreespace 组件支持状况 -...

    C1G的PHP探针 2.1 Build 040616.rar

    -自动定义全局变量register_globals -程序最多允许使用内存量memory_limit -允许最大上传文件upload_max_filesize -被禁用的函数disable_functions -php信息phpinfo -目前还有空余空间diskfreespace ...等等 ...

    史上最全传智播客PHP就业班视频课,8月份视频

    函数再回顾 自定义函数 8-23 2.位运算① 8-23 3.位运算② 8-23 4.数组介绍 数组的创建 ?榈谋槔? 8-23 5.数组的引用 数组使用细节① 8-23 6.数组使用细节② 数组运算符 数组作业评讲① 数组小结 8-24 1.回顾 8-24 2...

Global site tag (gtag.js) - Google Analytics