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

2020-07-16 10:06:11

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 '<br>';
echo $num;    //100

小結:

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

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
//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),'<br>';  //將gbk轉成utf-8
}
closedir($folder);        //關閉資料夾

小結:

1、opendir()返回資源型別

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

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

以上就是PHP作用域和資料夾操作範例的詳細內容,更多請關注TW511.COM其它相關文章!