PHPカスタム関数の変数スコープ
前の章の関数定義部分を学習することで、いくつかの異なるルールがわかりました:
関数が定義されるとき、括弧内の変数は仮パラメーター (仮パラメーター) であり、関数の外側の変数とは同じではありません。あらゆる関係。関数内で宣言された変数は関数内でのみ実行され、関数外の変数とは関係ありません。
しかし、実際の処理では、
関数本体で定義した変数を関数外で使いたい
関数本体外の変数を関数内で使いたい
これ スーパーグローバル変数を使用する必要がある場合があります。前の知識ポイントを確認してみましょう:
実験を通じて外部変数 (スーパー グローバル変数) の特性を観察し、この章の冒頭でまとめたルールを破ってみましょう:
HTML コンテンツを記述するために global.html ページを定義しましょう:
超全局数组实验
HTML コンテンツを渡しますフォームフォームが glob.php ページに送信されます。今すぐ glob.php を書きましょう:
この小さな例を通して、スーパーグローバル $_POST と他のスーパーグローバル変数 (外部変数) が関数内でも使用できます。この記事の冒頭で述べたように、変数のスコープに制限はありません。実際、宣言された変数はすべて $GLOBALS 配列の下に配置されます。例:
'; $GLOBALS['hello'] = '我爱你'; echo $hello; ?>
上記の例を通じて、$variable name が $GLOBALS['variable name'] と同等であることがわかります。すべての変数は $GLOBALS に配置されます。 $GLOBALS もグローバルです。
これで、関数本体内の変数 (ローカル変数) を関数の外で使用するという目標を達成できます。関数内で関数外の変数を使用することもできます。
1. $GLOBLAS を介して外部変数を読み取る
上の例では、関数本体で使用するために、$GLOBALS を介して関数本体の外にある変数を取得します。したがって、関数外の変数を関数本体内で使用できないという制限は破られます。
2. $GLOBALS を使用して関数内の外部変数を変更します
'; //调用test()函数,将通过$GLOBALS['hongniu'],把$hongniu的值改变掉 $GLOBALS['hongniu'] = '帮助别人很快乐'; } test(); //发现是不是输出的值变了呀? echo $hongniu; ?>
上記の例を通じて、$GLOBALS['hongniu'] を通じて $hongniu の値が変更されることがわかりました。出力されると、値が変更されました。
3. $GLOBLAS を使用して関数内にグローバル変数を作成します
'; } hello(); echo $que; ?>
上の例では、関数 hello() を呼び出した後、関数の外で echo $que を実行できることがわかりました。結果がわかります: 爽やかなお茶の方が良いです。関数内で宣言された変数は、$GLOBALS を通じて変数を宣言することによっても表示できることを理解しています。
以下の知識は[理解]レベルであり、グローバル変数を宣言するためにこの方法を使用することはますます少なくなります。関数内で global キーワードの後に 1 つ以上の変数を使用すると、変数がグローバル変数に変わります。形式は次のとおりです。
global $variable1[, variable2,....variablen]
in globalその後に、カンマで区切って 1 つ以上の変数を続けます。
上記の例では、グローバル キーワードの後に未作成の変数を指定し、関数本体で変数値を定義し、変数値を変更してみることもできます。実際には $GLOBALS と同じですが、使い方が異なります。
注:
global の後に $variable = value を書かないでください。
グローバル
発音: [ˈgləʊbl]
説明: グローバル、グローバル
- おすすめコース
- コースウェアのダウンロード
-
中級フロントエンドVue3実戦【手書きvueプロジェクト】
2857 人が視聴しています -
初級APIPOSTチュートリアル [ネットワーク通信に関する技術概念の普及]
1795 人が視聴しています -
中級第22号_総合実戦
5521 人が視聴しています -
初級第 22 号_PHP プログラミング
5172 人が視聴しています -
初級第22号_フロントエンド開発
8713 人が視聴しています -
中級ビッグ データ (MySQL) ビデオ チュートリアル フルバージョン
4525 人が視聴しています -
初級Go 言語チュートリアル - 実用的な情報が満載でナンセンスなものはありません
2794 人が視聴しています -
初級GO言語コアプログラミングコース
2814 人が視聴しています -
中級JS の高度な学習と BootStrap の学習
2563 人が視聴しています -
中級SQLの最適化とトラブルシューティング(MySQLバージョン)
3374 人が視聴しています -
中級Redis+MySQL データベースのインタビュー チュートリアル
2963 人が視聴しています -
初級食べ物を配達しますか、それともプログラミングを学びますか?
5708 人が視聴しています
このコースを視聴した生徒はこちらも学んでいます
関数の説明 | |
---|---|
セッションコントロールに渡されたCookie値を取得します | |
値セッションの | |
ファイルアップロードの結果を取得 | |
get値の受け渡しの結果を取得 | |
POST値の受け渡しの結果を取得 | |
getの値渡し結果とPost |