この記事で共有する内容はphpのconstとglobalに関するもので、必要な友達は参考にしてください
1. 定義時に初期化する必要があります; 2. 変数名の文字は通常大文字で指定します; 4. 定数はクラスに属し、特定のオブジェクトではありません。
【区別】
メンバー変数が変更されないことを願っています (例: pi 3.1415926)。
定義: const 定数名 = 値 $ 記号なし
アクセス: クラス名::定数名またはインターフェイスname::constant name
および: define('TEXT');名前付き定数が存在するかどうかを確認する
<?php class A{ const TAX_RATE=0.08; public function payTax($var){ return $var*A::TAX_RATE; } } $a=new A(); echo $a->payTax(200): ?>
使用法 1: const はクラスメンバー変数に使用され、一度定義すると変更することはできません, define はグローバル定数
に使用され、クラスのメンバー変数の定義には使用できません。const は クラス内で使用できますが、define は使用できません。
使用法 2: const で定義された定数は大文字と小文字が区別され、define は 3 番目のパラメーターで大文字と小文字を区別するかどうかを指定できます (TRUE は大文字と小文字を区別しないことを意味します)。実行時に定数を定義します。 define('TXE',100,TRUE); 使用法 3: const は条件文で定数を定義できませんが、define 関数は定義できます。 if($a>10){define('LE','hello');}
【引用:http://www.phptd.com/?action-viewnews- itemid-6147】
1. スーパーグローバル変数 $GLOBALS
PHP には多くのスーパーグローバル変数があります。以下はすべてスーパーグローバル変数です:
$GLOBALS、$_SERVER、$ _GET、$。 _POST、$_FILES、$_COOKIE、$_SESSION、$_REQUEST、$_ENV。 公式説明:
$GLOBALS — グローバルスコープで使用可能なすべての変数を指します。
すべての変数を含むグローバル結合配列。変数の名前は配列のキーです。
出現したグローバル変数は、$GLOBALS 配列を通じて取得できます。
PHP ライフサイクルでは、
関数本体の外で定義されたいわゆるグローバル変数を関数内で直接取得することはできません$foo = "Example content"; test();function test() { $foo = "local variable"; echo '$foo in current scope: ' . $foo . "<br>"; echo '$foo in global scope: ' . $GLOBALS["foo"] . "<br>"; }
global は、実際の外部変数ではなく、関数の外部変数を指すエイリアス変数を関数内に生成することです。関数の変数。
$GLOBALS[] は実際には外部変数と呼ばれ、関数内外で常に一貫性があります。
クラス内のメンバー変数の場合、クラス内の関数には $GLOBALS ではなく $this-> を使用してアクセスする必要があります:
function t1() { global $var1, $var2; $var2 = &$var1; }function t2() { $GLOBALS['var3'] = &$GLOBALS['var1']; }$var1 = 5;$var2 = $var3 = 0; t1();print $var2 ."\n"; t2();print $var3 ."\n";
function t1() { global $var1; $var1 = 2; unset($var1); }function t2() { $GLOBALS['var1'] = 3; unset($GLOBALS['var1']); }$var1 = 1; t1();print $var1 . "\n"; t2();print $var1 . "\n";