PHP のスコープの種類には何がありますか?スコープでアクセスできる領域は何ですか?
前回の記事では「PHPにおけるCookieとセッションの違いは何ですか?」についてご紹介しました。 》ということで、この記事では引き続きPHPのスコープの種類についてご紹介していきます。スコープでアクセスできる領域は何ですか?一定の参考値があるので、困っている友達が参考になれば幸いです。
#スコープ: 変数 (定数) がアクセスできる領域。
1. ボリュームは通常のコードで定義できます。
2. 変数は関数内で定義することもできます。
厳密に言えば、PHP の関数は 2 つのタイプに分類されます。 ただし、PHP では厳密な意味の外にある内部関数も定義されているため、合計で 3 つのタイプがあります。
1. グローバル ボリューム: 一般にユーザーによって定義されるボリュームです (グループの数は外部で定義されます)。
グローバル空間に属します: PHP では、グローバル空間でのみ使用できます。理論的には、関数内で使用することはできません。
スクリプト サイクル: スクリプトの終わりまで (コードの最後の行が実行される)。
2. ローカル交差: 戻り値の内部で定義された変数です。
それが属する現在のワープ番号空間: PHP では、現在のワープ番号自体内でのみ使用できます。
関数サイクル: 関数の実行が終了します (関数はスタック領域に独立したメモリ空間を開き、実行します)。
3. スーパー グローバル変数: システム定義変数 (事前定義変数: s.SERVER、s.POST など)。
所属するスーパーグローバル空間:アクセス制限なし(関数内外問わずアクセス可能)。
具体的には、コードを例として取り上げます:
PHP スコープでは、デフォルトのコード空間はグローバル空間です。グローバル変数を定義するために global を使用します。定義します 変数はシステムによってスーパーグローバル変数に含まれます ローカル変数は関数内で定義されます 最初に関数関数が定義され(すべての仮パラメータはローカル変数として理解できます)、次にinnerが出力されます 次にアクセスします;
<?php //PHP中作用域 //默认的代码空间:全局空间 $global = 'global area' ; //局部变量(函数内部定义)=global area; function display(){ //所有的形参都可以理解为局部变量 $inner = __FUNCTION__ ; //访问全局变量 echo $global ; } //调用函数 display();
コードの結果は次のとおりです:
結果から、グローバル変数がないことがわかります。グローバル システムにアクセスし、関数呼び出し時にエラーを報告しますが、実際にはすでに定義されており、グローバル変数がローカル空間で使用できないことを示しています。
推奨学習: php ビデオ チュートリアル
以上がPHP のスコープの種類には何がありますか?スコープでアクセスできる領域は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









typedef struct は、構造体の使用を簡素化するために構造体型のエイリアスを作成するために C 言語で使用されます。構造体の別名を指定することで、新しいデータ型を既存の構造体に別名付けします。利点としては、可読性の向上、コードの再利用、型チェックなどが挙げられます。注: エイリアスを使用する前に構造体を定義する必要があります。エイリアスはプログラム内で一意であり、宣言されているスコープ内でのみ有効である必要があります。

Java における変数の期待値の例外は、変数の初期化、null 値の使用、およびローカル変数のスコープの認識によって解決できます。

JavaScript クロージャーの利点には、変数スコープの維持、モジュール化コードの有効化、遅延実行、およびイベント処理が含まれますが、欠点としては、メモリ リーク、複雑さの増加、パフォーマンスのオーバーヘッド、およびスコープ チェーンの影響が挙げられます。

C++ の #include プリプロセッサ ディレクティブは、外部ソース ファイルの内容を現在のソース ファイルに挿入し、その内容を現在のソース ファイル内の対応する場所にコピーします。主に、コード内で必要な宣言を含むヘッダー ファイルをインクルードするために使用されます。たとえば、標準入出力関数を組み込むための #include <iostream> などです。

C++ スマート ポインターのライフ サイクル: 作成: スマート ポインターは、メモリが割り当てられるときに作成されます。所有権の譲渡: 移動操作を通じて所有権を譲渡します。リリース: スマート ポインターがスコープ外に出るか、明示的に解放されると、メモリが解放されます。オブジェクトの破壊: ポイントされたオブジェクトが破壊されると、スマート ポインターは無効なポインターになります。

できる。 C++ では、ネストされた関数の定義と呼び出しが可能です。外部関数は組み込み関数を定義でき、内部関数はスコープ内で直接呼び出すことができます。ネストされた関数により、カプセル化、再利用性、スコープ制御が強化されます。ただし、内部関数は外部関数のローカル変数に直接アクセスすることはできず、戻り値の型は外部関数の宣言と一致している必要があります。内部関数は自己再帰的ではありません。

JavaScript では、this のポインティング タイプには、1. グローバル オブジェクト、2. 関数呼び出し、4. イベント ハンドラー、5. アロー関数 (this の外側の継承) が含まれます。さらに、bind()、call()、および apply() メソッドを使用して、これが何を指すかを明示的に設定できます。

Vue では、let と var の間で変数を宣言するときのスコープに違いがあります。 スコープ: var にはグローバル スコープがあり、let にはブロック レベルのスコープがあります。ブロックレベルのスコープ: var はブロックレベルのスコープを作成しません。let はブロックレベルのスコープを作成します。再宣言: var は同じスコープ内の変数の再宣言を許可しますが、let は許可しません。
