php包含(include/require)文件时的作用域
当一个php脚本被require/include时,他的变量作用域根据其上下文环境决定.
1.如果是在一个函数中require/include一个文件,则此文件中的变量作用域是这个函数的范围.也就是说,这个文件只能访问此函数内在载入这个文件前所定义的变量,全局变量是不能访问的.距离说明
脚本test.php的内容:
<?php
function foo(){
$GLOBALS['a']="i am global";
$b="i am variable inner function";
include "included-file.php";
}
foo();
脚本included-file.php的内容:
<?php
echo $a,$b;
运行test.php的结果是:
Notice: Undefined variable: a in E:\work\phpcom\aa.php on line 2
i am variable inner function
2.如果是在全局环境中引入一个文件,那这个文件是可以直接访问全局变量的.
php包含(include/require)文件时的作用域的更多相关文章
- php学习笔记6--php中的文件包含 include,require,include_once,require_once
php中的文件包含 include,require,include_once,require_once 文件包含:是指将一个文件的内容包含进另外一个文件,有利于代码的复用等.php中文件包含指令有4个 ...
- 泰德激光打标软件 包含 #include "Main.h" 时 原本正确的单元却报错
问题:泰德激光打标软件 ,当新增单元需要包含 #include "Main.h" 时, 原本正确的单元却报错. 办法:包含 #include "Main.h" ...
- C++包含头文件时尖括号和双引号区别
原文链接:http://c.biancheng.net/cpp/biancheng/view/66.html 如果你还看一些别的C++教程,那么你可能很早就发现了,有些书上的#include命令写作# ...
- C/C++ 引入头文件时 #include<***.h> 与 #include"***.h" 区别
两种情况区分: 1.#include <> 编译器只会去系统文件目录中查找,找不到就报错. 2.#include " " 编译器会先在用户目录中查找,再到编译器设定的 ...
- php include,require,include_once,require_once 的区别
include(),require(),include_once(),require_once()作用都是包含并运行指定文件,但是使用场景又有很大区别. 1.include()和require()的区 ...
- sublime打开文件时自动生成并打开.dump文件
GBK Encoding Support 没有安装前打开ASNI格式编码文件会乱码,安装成功重启则可以打开正常 关于.dump文件生成的解释: 当打开一个非utf-8格式且包含汉字的文件时,subli ...
- PHP 文件包含总结 include require 命名空间 autoload spl_autoload_register 读取文件路径
总结: 1. include或require包含其他文件 使用./或者 ../,这里的当前路径和上一层路径,取决于运行脚本的路径,会存在如下问题. 在写PHP程序时,经常要用到include或requ ...
- php 文件包含 include、include_once、require、require_once
简言之,include某文件:把某文件的代码粘过来,如果该文件不存在,也继续执行下面的代码,带_once的是看看之前引用过没,引用过就不引用了(_once这行代码的心里活动:“之后引用过没有我不关心, ...
- PHP内的包含语句(include(),require(),include_once(),require_once())
背景:继续总结PHP内的函数. 在一般的程序中,我们经常重复用到一些代码,但是如果只是简单的进行代码复制,则会增加代码的冗余度,不便于程序的运行.因此,我们可以把重复性的代码分离出来,以外部文件的方式 ...
随机推荐
- MSSQL 判断一个时间段是否在另一个时间段内!
MSSQL 判断一个时间段是否在另一个时间段内! 1 CREATE TABLE #B ( MeetingRoom int, BeginTime datetime, EndTime datetime ) ...
- Python中,添加写入数据到已经存在的Excel的xls文件,即打开excel文件,写入新数据
背景 Python中,想要打开已经存在的excel的xls文件,然后在最后新的一行的数据. 折腾过程 1.找到了参考资料: writing to existing workbook using xlw ...
- struts1&&Hibernate Demo1
用struts1和Hibernate实现简单登录案例 主要思路:通过用户名name验证 如果一致则验证成功. 附上源码: 1.建立student表,这里使用的是mysql数据库,以下为该表的DDL: ...
- DataTable排序(转)
DataTable 排序 DataRow[] rows = dataTable1.Select("", "ord asc"); DataTable t ...
- (LinkedList)2. Add Two Numbers
You are given two linked lists representing two non-negative numbers. The digits are stored in rever ...
- 59. Spiral Matrix && Spiral Matrix II
Spiral Matrix Given a matrix of m x n elements (m rows, n columns), return all elements of the matri ...
- 安卓:assets目录下的文本文件(不受R文件节制)
try { InputStream in = getAssets().open("testAsset.txt"); byte[] buffer = new byte[1024]; ...
- 在CentOS上搭建PHP服务器环境
您也可以使用一键自动部署环境的工具,请参见网友开发的这个工具 http://www.centos.bz/2013/08/ezhttp-tutorial/ 安装apache: yum insta ...
- devexpress中如何给TabPage控件的Tab定义背景色
js: /*tab选项卡样式*/ .color .dxtc-link { background-color: #bf4e6a !important; } 后台代码: //选项卡样式 protected ...
- sql日期函数操作
sql语句获取本周.本月.本年数据 SQL Serverselect * from [data] where DATEPART(m,[date])=2 Accessselect * from [da ...