php变量范围介绍
来源:互联网 发布:网络拥塞控制方法 编辑:程序博客网 时间:2024/06/05 17:51
变量的范围即它定义的上下文背景(也就是它生效的范围)。大部分的 PHP 变量只例如:
<?php
$a = 1;
include 'b.inc';
?>
这里变量 $a 将会在包含文件 b.inc 中生效。但是,在用户自定义函数中,一个局部函数范围将被引入。任何用于函数内部的变量按缺省情况将被限制在局部函数范围内,此时为局部变量。
PHP 中全局变量在函数中使用时必须申明为global。
在函数中使用global声明的变量即为全局变量,可以在函数外使用。注意:global声明变量时,不能直接对变量赋值,需要先声明后赋值。
在全局范围内,也可以通过$GLOBALS访问全局变量,在函数内不需要使用global关键字来访问全局变量了。$GLOBALS 是一个关联数组,每一个变量为一个元素,键名对应变量名,值对应变量的内容。$GLOBALS 之所以在全局范围内存在,是因为 $GLOBALS 是一个超全局变量。
常量可以不用理会变量的作用域而在任何地方定义和访问;
变量范围的另一个重要特性是静态变量(static variable)。静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失。静态变量仅在第一次调用时进行初始化,声明时可以对其赋值,不能是表达式值。如果在声明中用表达式的结果对其赋值会导致解析错误。
当把一个引用(带上&的变量或对象)赋值给一个静态变量时,引用并不是静态地存储的,第二次调用函数时静态变量其值并没有被记住。同样,当把一个引用(带上&的变量或对象)赋值给global变量时,此变量的变化对函数外不起作用,作用范围只在该函数内。有一个单独的范围。这个单独的范围跨度同样包含了 include 和 require 引入的文件
复制代码 代码如下:
<?php
$a = 1;
include 'b.inc';
?>
这里变量 $a 将会在包含文件 b.inc 中生效。但是,在用户自定义函数中,一个局部函数范围将被引入。任何用于函数内部的变量按缺省情况将被限制在局部函数范围内,此时为局部变量。
PHP 中全局变量在函数中使用时必须申明为global。
在函数中使用global声明的变量即为全局变量,可以在函数外使用。注意:global声明变量时,不能直接对变量赋值,需要先声明后赋值。
在全局范围内,也可以通过$GLOBALS访问全局变量,在函数内不需要使用global关键字来访问全局变量了。$GLOBALS 是一个关联数组,每一个变量为一个元素,键名对应变量名,值对应变量的内容。$GLOBALS 之所以在全局范围内存在,是因为 $GLOBALS 是一个超全局变量。
常量可以不用理会变量的作用域而在任何地方定义和访问;
变量范围的另一个重要特性是静态变量(static variable)。静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失。静态变量仅在第一次调用时进行初始化,声明时可以对其赋值,不能是表达式值。如果在声明中用表达式的结果对其赋值会导致解析错误。
当把一个引用(带上&的变量或对象)赋值给一个静态变量时,引用并不是静态地存储的,第二次调用函数时静态变量其值并没有被记住。同样,当把一个引用(带上&的变量或对象)赋值给global变量时,此变量的变化对函数外不起作用,作用范围只在该函数内。有一个单独的范围。这个单独的范围跨度同样包含了 include 和 require 引入的文件
阅读全文
0 0
- php变量范围介绍
- php变量作用范围
- 22. PHP 变量范围
- php变量范围 $GLOBALS global
- php的局部变量范围
- php初学4-变量范围
- php作用域,变量范围
- php手册之变量范围
- PHP的变量作用范围
- php变量范围之静态变量
- js变量作用范围vs php变量范围
- PHP程序中变量的使用范围
- PHP变量及其类型和范围
- php介绍和变量
- PHP函数定义声明以及函数类型(回调函数,递归函数,重用函数。。)的介绍 变量的范围
- Learn PHP第二章:变量4(变量范围)
- Learn PHP第二章:变量5(变量范围)
- PHP学习笔记——PHP变量的范围;
- vue-resource jsonp接口传参-json传参
- oracle 12c rac ocr和votedisk管理
- effective C++ 学习 (Customizing new and delete)
- Unity3D 摄像机(Camera)属性详解
- HIVE分区表新增字段后新增字段值为空,需要带分区加字段
- php变量范围介绍
- CentOS7+Apache+MySQL+PHP安装
- Linux 的 Kill -9命令
- Excel对比两列数据相同的在第三列打印出来
- 解决IE浏览器下:td标签上有position: relative;与background-color属性时td边框消失
- linux 查看系统信息命令(比较全)
- webpack 模块
- macOS Finder安装位置
- centos7搭建solr实现全文搜索