PHP変数のスコープ

无忌哥哥
リリース: 2018-06-28 09:18:24
オリジナル
2556 人が閲覧しました

* スコープは 3 つだけです:

* 1. グローバル: 関数の外で作成され、関数を除く現在のスクリプトでのみ使用されます。

* 2. ローカル: 関数内で作成され、関数内でのみ使用されます。外部からアクセス可能;

* 3. 静的: 関数によって内部的に作成され、関数内でのみ使用され、その値は関数の実行後に失われません。グローバル変数配列、キーは変数に対応します

$siteName = 'PHP中文网'; //全局变量
ログイン後にコピー

* 機能: スクリプト内の特定の関数を含むコードセグメントであり、繰り返し呼び出すことができます

* 1. 基本構文:

* 1.1 関数宣言: function funcnName($ args){ #code... }

* 1.2 関数式: $funcName = function ($ages){ #code...}

* 2. 呼び出し:

* 2.1 名前による呼び出し: funcName($args ) / $funcName($args )

* 2.2 自己呼び出し: 宣言と呼び出しが同時に完了します

* (function (args){ #code...})()

$GLOBALS['siteName']='PHP中文网'; //全局变量替代语法
ログイン後にコピー

//静的変数関数で宣言して使用する必要があります

function hello()
{
  global $siteName; //引用全局变量,使用全局变量数组,不必声明引入
  $userName = 'Peter Zhu'; //局部变量
  // return '欢迎来到'.$siteName.',我是:'.$userName;
  return '欢迎来到'.$GLOBALS['siteName'].',我是:'.$userName;
}
echo hello();  //函数调用
echo &#39;<hr color="red">&#39;;
ログイン後にコピー

//最初の実行が完了した後、$num の値は 2

function myStatic()
{
  static $num = 1;
  //$num++,先将$num值输出后再加1
  return &#39;第&#39;.$num.&#39;次输出&#39;.$num++.&#39;<br>&#39;;
}
echo &#39;第一次执行完成后$num值:&#39;.myStatic().&#39;<br>&#39;;
ログイン後にコピー

//2 回目の実行が完了した後、$num の値は 3

echo &#39;第一次执行完成后$num值:&#39;.myStatic().&#39;<br>&#39;;
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

//3 回目の実行が完了すると、$num の値は 4 になります

echo &#39;第一次执行完成后$num值:&#39;.myStatic().&#39;<br>&#39;;
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

* スーパー グローバル変数: $_SERVER、$_COOKIE、$_SESSION、$_GET、$_POST、$_REQUEST

* 1. これらは事前定義されています変数、すべて配列です。使用するだけで宣言は必要ありません。

* 2. クロススコープ。グローバルとローカル (関数内) の両方で直接使用できます。

* 3. クロススコープはクロスではありません。 -script。グローバルを含むいわゆるスーパーグローバルは、現在のスクリプト ファイルを指します。

echo &#39;第一次执行完成后$num值:&#39;.myStatic().&#39;<br>&#39;;
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

//グローバルに直接参照可能

echo &#39;<hr color="blue">&#39;;
ログイン後にコピー

//関数内でも直接参照可能

echo &#39;我的姓名是:&#39;.$_GET[&#39;name&#39;];
ログイン後にコピー

//関数

function sayName()
{
  //超全局变量不需要使用关键字 global 进行声明
  return &#39;我的姓名是:&#39;.$_GET[&#39;name&#39;];
}
ログイン後にコピー
を呼び出す
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート