ホームページ >バックエンド開発 >PHPチュートリアル >PHP スコープとフォルダー操作の例
1. スコープ
1.1 変数スコープ
1. グローバル変数: 外部function
2. ローカル変数: 関数の内部。デフォルトでは、関数の外部の変数は関数内部ではアクセスされません。
3. スーパー グローバル変数: 関数の内部および外部に存在できます。 function Access
関数内のグローバル変数へのアクセス
<?php $num=10; //全局变量 function fun() { echo $GLOBALS['num']; //输出全局的$num } fun();
グローバル キーワード
<?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.Constant にはスコープがありません概念
1.2 静的変数 (静的)
静的変数は通常、静的ローカル変数を指します
静的変数は 1 回だけ初期化されます
<?php function fun() { static $num=10; //静态变量只初始化一次,调用完毕吧不销毁,第二次调用的时候就不再初始化 $num++; echo $num,'<br>'; } fun(); //11 fun(); //12
定数と静的変数の違い:
1. 定数と静的変数は一度初期化されます
2. 定数は値を変更できませんが、静的変数は値を変更できます値
3. 定数にはスコープがなく、静的変数にはスコープがあります
1.3 匿名関数 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 スコープとフォルダー操作の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。