php文件域的作用,PHP作用域和文件夹操作示例

9a8f9985a9cfb3aae0121323551df278.png

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 '
';

echo $num; //100

小结:

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

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

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

1.2静态变量(static)

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

静态变量只初始化一次<?php

function fun() {

static $num=10; //静态变量只初始化一次,调用完毕吧不销毁,第二次调用的时候就不再初始化

$num ;

echo $num,'
';

}

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),'
'; //将gbk转成utf-8

}

closedir($folder); //关闭文件夹

小结:

1、opendir()返回资源类型

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值