首頁  >  文章  >  後端開發  >  PHP作用域和資料夾操作範例

PHP作用域和資料夾操作範例

angryTom
angryTom轉載
2020-01-31 18:16:402605瀏覽

PHP作用域和資料夾操作範例

1.作用域

1.1變數作用域

1.全域變數:在函數外面

2.局部變數:在函數裡面,預設情況下,函數內部是不會存取函數外部的變數

3.超全域變數:可以在函數內部和函數外部存取

在函數內部存取全域變數

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

#global關鍵字

<?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

小結:

1.$GLOBALS保存的是全域變數的所有的值

2.global用來建立一個全域變數的參考

3.常數是沒有作用域的概念

1.2靜態變數(static)

靜態變數一般指的是靜態局部變數

靜態變數只初始化一次

<?php
function fun() {
    static $num=10;    //静态变量只初始化一次,调用完毕吧不销毁,第二次调用的时候就不再初始化
    $num++;
    echo $num,&#39;<br>&#39;;
}
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(&#39;./aa&#39;);    //创建aa文件夹
//mkdir(&#39;./aa/bb&#39;);    //在aa目录下创建bb(aa目录必须存在)
mkdir(&#39;./aa/bb/cc/dd&#39;,0777,true);    //递归创建

2.2刪除資料夾(rmdir())

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

注意:

1、刪除的資料夾必須是空的

2、PHP基於安全性考慮,沒有提供遞歸刪除。

2.3重新命名資料夾(rename(舊名字,新姓名))

rename(&#39;./aa&#39;,&#39;./aaa&#39;);    //将aa改为aaa

2.4是否是資料夾(is_dir())

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

2.5開啟資料夾、讀取資料夾、關閉資料夾

$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);        //关闭文件夹

小結:

1、opendir()傳回資源類型

2、每個資料夾中都有.和..

3、iconv()用來做字元編碼轉換

相關文章教學推薦:

php教程

以上是PHP作用域和資料夾操作範例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除