ホームページ >バックエンド開発 >PHPの問題 >PHP のスコープの種類には何がありますか?スコープでアクセスできる領域は何ですか?

PHP のスコープの種類には何がありますか?スコープでアクセスできる領域は何ですか?

慕斯
慕斯オリジナル
2021-06-16 16:03:393479ブラウズ

前回の記事では「PHPにおけるCookieとセッションの違いは何ですか?」についてご紹介しました。 》ということで、この記事では引き続きPHPのスコープの種類についてご紹介していきます。スコープでアクセスできる領域は何ですか?一定の参考値があるので、困っている友達が参考になれば幸いです。

PHP のスコープの種類には何がありますか?スコープでアクセスできる領域は何ですか?

#スコープ: 変数 (定数) がアクセスできる領域。

1. ボ​​リュームは通常のコードで定義できます。

2. 変数は関数内で定義することもできます。

厳密に言えば、PHP の関数は 2 つのタイプに分類されます。 ただし、PHP では厳密な意味の外にある内部関数も定義されているため、合計で 3 つのタイプがあります。

1. グローバル ボリューム: 一般にユーザーによって定義されるボリュームです (グループの数は外部で定義されます)。

グローバル空間に属します: PHP では、グローバル空間でのみ使用できます。理論的には、関数内で使用することはできません。

スクリプト サイクル: スクリプトの終わりまで (コードの最後の行が実行される)。

2. ローカル交差: 戻り値の内部で定義された変数です。

それが属する現在のワープ番号空間: PHP では、現在のワープ番号自体内でのみ使用できます。

関数サイクル: 関数の実行が終了します (関数はスタック領域に独立したメモリ空間を開き、実行します)。

3. スーパー グローバル変数: システム定義変数 (事前定義変数: s.SERVER、s.POST など)。

所属するスーパーグローバル空間:アクセス制限なし(関数内外問わずアクセス可能)。

具体的には、コードを例として取り上げます:

PHP スコープでは、デフォルトのコード空間はグローバル空間です。グローバル変数を定義するために global を使用します。定義します 変数はシステムによってスーパーグローバル変数に含まれます ローカル変数は関数内で定義されます 最初に関数関数が定義され(すべての仮パラメータはローカル変数として理解できます)、次にinnerが出力されます 次にアクセスします;

<?php
//PHP中作用域
//默认的代码空间:全局空间
$global = &#39;global area&#39; ;
//局部变量(函数内部定义)=global area;
function display(){
//所有的形参都可以理解为局部变量
$inner = __FUNCTION__ ;
//访问全局变量
echo $global ;
}
//调用函数
display();

コードの結果は次のとおりです:

PHP のスコープの種類には何がありますか?スコープでアクセスできる領域は何ですか?

結果から、グローバル変数がないことがわかります。グローバル システムにアクセスし、関数呼び出し時にエラーを報告しますが、実際にはすでに定義されており、グローバル変数がローカル空間で使用できないことを示しています。

推奨学習: php ビデオ チュートリアル

以上がPHP のスコープの種類には何がありますか?スコープでアクセスできる領域は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。