1.作用域
1.1變量作用域
1.全局變量:在函數(shù)外面
2.局部變量:在函數(shù)里面,默認(rèn)情況下,函數(shù)內(nèi)部是不會(huì)訪問函數(shù)外部的變量
3.超全局變量:可以在函數(shù)內(nèi)部和函數(shù)外部訪問
在函數(shù)內(nèi)部訪問全局變量
<?php $num=10; //全局變量 function fun() { echo $GLOBALS['num']; //輸出全局的$num } fun();
global關(guān)鍵字
<?php $num=10; function fun() { global $num; //將全局變量的$num的地址引入到函數(shù)內(nèi)部 相當(dāng)于$num=&GLOBALS['num'] echo $num; //10 $num=100; } fun(); echo '<br>'; echo $num; //100
小結(jié):
1.$GLOBALS保存的是全局變量的所有的值
2.global用于創(chuàng)建一個(gè)全局變量的引用
3.常量是沒有作用域的概念
1.2靜態(tài)變量(static)
靜態(tài)變量一般指的是靜態(tài)局部變量
靜態(tài)變量只初始化一次
<?php function fun() { static $num=10; //靜態(tài)變量只初始化一次,調(diào)用完畢吧不銷毀,第二次調(diào)用的時(shí)候就不再初始化 $num++; echo $num,'<br>'; } fun(); //11 fun(); //12
常量和靜態(tài)變量的區(qū)別:
1.常量和靜態(tài)變量都是初始化一次
2.常量不能改變值,靜態(tài)變量可以改變值
3.常量沒有作用域,靜態(tài)變量有作用域
1.3匿名函數(shù)use()
默認(rèn)情況下,函數(shù)內(nèi)部不能訪問函數(shù)外部的變量,但在匿名函數(shù)中,可以通過use將外部變量引入匿名函數(shù)中
<?php $num=10; $fun=function() use($num) { //將$num引入到匿名函數(shù)中,引用多個(gè)變量時(shí)用逗號(hào)分隔開 echo $num; }; $fun(); //10
2.文件夾操作:
2.1創(chuàng)建文件夾(mkdir(路徑,權(quán)限,是否遞歸創(chuàng)建))
<?php //1、創(chuàng)建目錄 //mkdir('./aa'); //創(chuàng)建aa文件夾 //mkdir('./aa/bb'); //在aa目錄下創(chuàng)建bb(aa目錄必須存在) mkdir('./aa/bb/cc/dd',0777,true); //遞歸創(chuàng)建
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打開文件夾、讀取文件夾、關(guān)閉文件夾
$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轉(zhuǎn)成utf-8 } closedir($folder); //關(guān)閉文件夾
小結(jié):
1、opendir()返回資源類型
2、每個(gè)文件夾中都有.和..
3、iconv()用來做字符編碼轉(zhuǎn)換
相關(guān)文章教程推薦:php教程