视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
PHP作用域和文件夹操作示例
2020-11-03 18:19:16 责编:小采
文档


1.作用域

1.1变量作用域

1.全局变量:在函数外面

2.局部变量:在函数里面,默认情况下,函数内部是不会访问函数外部的变量

3.超全局变量:可以在函数内部和函数外部访问

在函数内部访问全局变量

<?php
$num=10; //全局变量
function fun() {
 echo $GLOBALS['num']; //输出全局的$num
}
fun();

global关键字

<?php
$num=10;
function fun() {
 global $num; //将全局变量的$num的地址引入到函数内部 相当于$num=&GLOBALS['num']
 echo $num; //10
 $num=100;
}
fun();
echo '<br>';
echo $num; //100

小结:

1.$GLOBALS保存的是全局变量的所有的值

2.global用于创建一个全局变量的引用

3.常量是没有作用域的概念

1.2静态变量(static)

静态变量一般指的是静态局部变量

静态变量只初始化一次

<?php
function fun() {
 static $num=10; //静态变量只初始化一次,调用完毕吧不销毁,第二次调用的时候就不再初始化
 $num++;
 echo $num,'<br>';
}
fun(); //11
fun(); //12

常量和静态变量的区别:

1.常量和静态变量都是初始化一次

2.常量不能改变值,静态变量可以改变值

3.常量没有作用域,静态变量有作用域

1.3匿名函数use()

默认情况下,函数内部不能访问函数外部的变量,但在匿名函数中,可以通过use将外部变量引入匿名函数中

<?php
$num=10;
$fun=function() use($num) { //将$num引入到匿名函数中,引用多个变量时用逗号分隔开
 echo $num; 
};
$fun(); //10

2.文件夹操作:

2.1创建文件夹(mkdir(路径,权限,是否递归创建))

<?php
//1、创建目录
//mkdir('./aa'); //创建aa文件夹
//mkdir('./aa/bb'); //在aa目录下创建bb(aa目录必须存在)
mkdir('./aa/bb/cc/dd',0777,true); //递归创建

2.2删除文件夹(rmdir())

//remove:移除
rmdir('./aa/bb/cc/dd'); //删除dd文件夹

注意:

1、删除的文件夹必须是空的

2、PHP基于安全考虑,没有提供递归删除。

2.3重命名文件夹(rename(旧名字,新姓名))

rename('./aa','./aaa'); //将aa改为aaa

2.4是否是文件夹(is_dir())

echo is_dir('./aaa')?' 是文件夹':'不是文件夹';

2.5打开文件夹、读取文件夹、关闭文件夹

$folder=opendir('./'); //打开目录
//var_dump($folder); //resource(3) of type (stream) 
while($f=readdir($folder)){ //读取文件夹
 if($f=='.' || $f=='..')
 continue;
 echo iconv('gbk','utf-8',$f),'<br>'; //将gbk转成utf-8
}
closedir($folder); //关闭文件夹

小结:

1、opendir()返回资源类型

2、每个文件夹中都有.和..

3、iconv()用来做字符编码转换

相关文章教程推荐:php教程

下载本文
显示全文
专题