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文件夹
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); //关闭文件夹
以上是PHP作用域和資料夾操作範例的詳細內容。更多資訊請關注PHP中文網其他相關文章!