1.做用域php
1.1变量做用域安全
1.全局变量:在函数外面函数
2.局部变量:在函数里面,默认状况下,函数内部是不会访问函数外部的变量编码
3.超全局变量:能够在函数内部和函数外部访问spa
在函数内部访问全局变量code
<?php $num=10; //全局变量 function fun() { echo $GLOBALS['num']; //输出全局的$num } fun();
global关键字blog
<?php $num=10; function fun() { global $num; //将全局变量的$num的地址引入到函数内部 至关于$num=&GLOBALS['num'] echo $num; //10 $num=100; } fun(); echo '<br>'; echo $num; //100
小结:递归
1.$GLOBALS保存的是全局变量的全部的值utf-8
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 //一、建立目录 //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文件夹
注意:
一、删除的文件夹必须是空的
二、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); //关闭文件夹
小结:
一、opendir()返回资源类型
二、每一个文件夹中都有.和..
三、iconv()用来作字符编码转换