Home > Article > Backend Development > PHP scope and folder manipulation examples
1. Scope
1.1 Variable scope
1. Global variables: in Outside the function
2. Local variables: inside the function. By default, variables outside the function will not be accessed inside the function
3. Super global variables: can be inside the function and outside the function Access
Access global variables inside the function
<?php $num=10; //全局变量 function fun() { echo $GLOBALS['num']; //输出全局的$num } fun();
global keyword
<?php $num=10; function fun() { global $num; //将全局变量的$num的地址引入到函数内部 相当于$num=&GLOBALS['num'] echo $num; //10 $num=100; } fun(); echo '<br>'; echo $num; //100
Summary:
1.$GLOBALS saves all the values of global variables
2.global is used to create a reference to global variables
3.Constant has no scope Concept
1.2 Static variables (static)
Static variables generally refer to static local variables
Static variables are only initialized once
<?php function fun() { static $num=10; //静态变量只初始化一次,调用完毕吧不销毁,第二次调用的时候就不再初始化 $num++; echo $num,'<br>'; } fun(); //11 fun(); //12
The difference between constants and static variables:
1. Constants and static variables are initialized once
2. Constants cannot change their values, while static variables can change their values
3. Constants have no scope, static variables have scope
1.3 Anonymous function use()
By default, functions cannot be accessed inside the function External variables, but in anonymous functions, external variables can be introduced into the anonymous function through use
<?php $num=10; $fun=function() use($num) { //将$num引入到匿名函数中,引用多个变量时用逗号分隔开 echo $num; }; $fun(); //10
2. Folder operation:
##2.1 Create Folder (mkdir (path, permission, whether to create recursively))
<?php //1、创建目录 //mkdir('./aa'); //创建aa文件夹 //mkdir('./aa/bb'); //在aa目录下创建bb(aa目录必须存在) mkdir('./aa/bb/cc/dd',0777,true); //递归创建
2.2 Delete folder (rmdir())
//remove:移除 rmdir('./aa/bb/cc/dd'); //删除dd文件夹Note : 1. The deleted folder must be empty 2. PHP does not provide recursive deletion due to security considerations.
2.3 Rename the folder (rename(old name, new name))
rename('./aa','./aaa'); //将aa改为aaa
2.4 Whether it is a folder (is_dir())
echo is_dir('./aaa')?' 是文件夹':'不是文件夹';
2.5 Open folder, read folder, close folder
$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); //关闭文件夹Summary: 1. opendir() returns resource type2. Each folder contains . and ..3. iconv() is used for character encoding conversion Recommended related article tutorials:
The above is the detailed content of PHP scope and folder manipulation examples. For more information, please follow other related articles on the PHP Chinese website!