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其它相關文章!