* スコープは 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 '<hr color="red">';
function myStatic() { static $num = 1; //$num++,先将$num值输出后再加1 return '第'.$num.'次输出'.$num++.'<br>'; } echo '第一次执行完成后$num值:'.myStatic().'<br>';
//2 回目の実行が完了した後、$num の値は 3
echo '第一次执行完成后$num值:'.myStatic().'<br>';
//3 回目の実行が完了すると、$num の値は 4 になります
echo '第一次执行完成后$num值:'.myStatic().'<br>';
* スーパー グローバル変数: $_SERVER、$_COOKIE、$_SESSION、$_GET、$_POST、$_REQUEST
* 1. これらは事前定義されています変数、すべて配列です。使用するだけで宣言は必要ありません。
* 2. クロススコープ。グローバルとローカル (関数内) の両方で直接使用できます。
* 3. クロススコープはクロスではありません。 -script。グローバルを含むいわゆるスーパーグローバルは、現在のスクリプト ファイルを指します。
echo '第一次执行完成后$num值:'.myStatic().'<br>';
//グローバルに直接参照可能
echo '<hr color="blue">';
//関数内でも直接参照可能
echo '我的姓名是:'.$_GET['name'];
//関数
function sayName() { //超全局变量不需要使用关键字 global 进行声明 return '我的姓名是:'.$_GET['name']; }