Home  >  Article  >  Backend Development  >  PHP scope and folder manipulation examples

PHP scope and folder manipulation examples

angryTom
angryTomforward
2020-01-31 18:16:402606browse

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[&#39;num&#39;];    //输出全局的$num
}
fun();

global keyword

<?php
$num=10;
function fun() {
    global $num;   //将全局变量的$num的地址引入到函数内部  相当于$num=&GLOBALS[&#39;num&#39;]
    echo $num;    //10
    $num=100;
}
fun();
echo &#39;<br>&#39;;
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,&#39;<br>&#39;;
}
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(&#39;./aa&#39;);    //创建aa文件夹
//mkdir(&#39;./aa/bb&#39;);    //在aa目录下创建bb(aa目录必须存在)
mkdir(&#39;./aa/bb/cc/dd&#39;,0777,true);    //递归创建

2.2 Delete folder (rmdir())

//remove:移除
rmdir(&#39;./aa/bb/cc/dd&#39;);    //删除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(&#39;./aa&#39;,&#39;./aaa&#39;);    //将aa改为aaa

2.4 Whether it is a folder (is_dir())

echo is_dir(&#39;./aaa&#39;)?&#39;  是文件夹&#39;:&#39;不是文件夹&#39;;

2.5 Open folder, read folder, close folder

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

Summary:

1. opendir() returns resource type

2. Each folder contains . and ..

3. iconv() is used for character encoding conversion

Recommended related article tutorials:

php Tutorial

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!

Statement:
This article is reproduced at:cnblogs.com. If there is any infringement, please contact admin@php.cn delete