これまで、PHP の変数、定数、魔法定数の使用法と参照表をここまで詳しく紹介したことはほとんどありませんでした。この記事は初心者にとって非常に役立ち、さらに詳しく知りたい友人は参照してください。
変数:
変数は、数値、テキスト文字列、配列などの値を保存するために使用されます。
変数を設定したら、スクリプト内で繰り返し使用できます。
PHP のすべての変数は $ 記号で始まります。
PHP で変数を設定する正しい方法は次のとおりです:
コードは次のとおりです | コードをコピー |
$var_name = 値; |
PHP の初心者は、変数の前の $ 記号を忘れることがよくあります。そうすると変数が無効になってしまいます。
文字列を保持する変数と数値を保持する変数を作成してみましょう:
コードは次のとおりです | コードをコピー |
$txt = "Hello World!"; $number = 16; ?> |
1.変数の定義方法とC#などの言語との違いは?
PHP の変数は、ドル記号とそれに続く変数名で表されます。変数名では大文字と小文字が区別されます。例:
コードは次のとおりです | コードをコピー |
$var='ジム'; $VAR='キミ; echo "$var,$VAR";//出力 "ジム、キミ" |
?>変数の名前も気にするかもしれませんが、これはほとんどの言語と同じです。
2. 変数では大文字と小文字が区別されますか?
1 で述べたように、大文字と小文字は区別されます。
注意すべき点の 1 つは、PHP4 以降、参照割り当ての概念が導入されたということです。これは実際にはほとんどの言語の参照に似ていますが、最も似ているのは C/C++ だと思います。 &」の記号。例:
コードは次のとおりです | コードをコピー |
1
2 $foo = 'Bob' // 'Bob' を foo に代入します。 3 $bar = &$foo; // $bar を通じて参照されます 4 $bar = "私の名前は $bar" // $bar を変更します ; 5 エコー $bar; 6 echo $foo; // $foo も変更されました 7?> |
さて、これで変数について一般的に理解できたはずです。次に、変数の間接参照と文字列連結について見てみましょう。
コードをコピー | |
$a = "b"; $$a = "123"; エコー $b; ?> |
コードは次のとおりです | コードをコピー |
$a = "PHP 4" ; $b = "強力" ; エコー $a.$b; ?> |
PHP 4.2.0 以降のバージョンでは、PHP 命令 register_globals のデフォルト値が off であることに注意してください。これは PHP に対する大きな変更です。 register_globals を off に設定すると、事前定義された変数セットのグローバルな可用性に影響します。たとえば、DOCUMENT_ROOT の値を取得するには、$DOCUMENT_ROOT の代わりに $_SERVER['DOCUMENT_ROOT'] を使用する必要があります。別の例として、URL http://www から $id の代わりに $_GET['id'] を使用します。 .example.com/test .php?id=3 の ID 値を取得するか、$HOME の代わりに $_ENV['HOME'] を使用して環境変数 HOME の値を取得します
コードの 3 行目、英語 (ピリオド) 記号が表示されます。これは、文字列を結合して、マージされた新しい文字列にすることができます。
スーパーグローバル変数 | 説明 |
$グローバル | 現在の各スクリプトのグローバル スコープで有効な変数への参照が含まれています。この配列のキー名はグローバル変数の名前です。 PHP 3 以降、$GLOBALS 配列があります。 |
$_サーバー | 変数は Web サーバーによって設定されるか、現在のスクリプトの実行環境に直接関連付けられます。古い配列 $HTTP_SERVER_VARS 配列 (まだ有効ですが、非推奨です) に似ています。 |
$_GET | URL リクエストを通じてスクリプトに送信される変数。古い配列 $HTTP_GET_VARS 配列 (まだ有効ですが、非推奨です) に似ています。 |
$_POST | HTTP POST メソッド経由でスクリプトに送信される変数。古い配列 $HTTP_POST_VARS 配列 (まだ有効ですが、非推奨です) に似ています。 |
$_クッキー | HTTP Cookie メソッド経由でスクリプトに送信される変数。古い配列 $HTTP_COOKIE_VARS 配列 (まだ有効ですが、非推奨です) に似ています。 |
$_FILES | HTTP POST ファイルのアップロード経由でスクリプトに送信される変数。古い配列$HTTP_POST_FILES配列に似ています(まだ有効ですが、非推奨です) |
$_ENV | 実行環境は変数をスクリプトに送信します。古い配列 $HTTP_ENV_VARS 配列 (まだ有効ですが、非推奨です) に似ています。 |
$_リクエスト | 変数は GET、POST、COOKIE メカニズムを介してスクリプトに送信されるため、この配列は信頼できません。この配列に含まれるすべての変数の有無、および順序は、php.iniのvariables_order設定ディレクティブに従って定義されます。この配列には、PHP 4.1.0 より前には直接対応するものはありません。 import_request_variables()を参照してください。 |
$_セッション | 現在スクリプトセッションに登録されている変数。古い配列 $HTTP_SESSION_VARS 配列 (まだ有効ですが、非推奨です) に似ています |
定数:
定数は単純な値の識別子(名前)です。名前が示すように、スクリプトの実行中に値を変更することはできません (定数ではない、いわゆるマジック定数を除く)。定数はデフォルトで大文字と小文字が区別されます。通常、定数識別子は常に大文字です。
定数名は、他の PHP タグと同じ命名規則に従います。有効な定数名は文字またはアンダースコアで始まり、その後に任意の文字、数字、またはアンダースコアが続きます。正規表現は次のように表現されます: [a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*
①はプログラム実行中に変更できないデータであり、定数のスコープはグローバルです。
②定数の命名は変数と似ていますが、ドル記号「$」がありません。有効な定数名は文字またはアンダースコアで始まり、その後に任意の数の文字、数字、またはアンダースコアが続きます。
③ 通常、PHP の定数は大文字で表記され、システム定数とカスタム定数に分けられます。
システム定数について簡単に説明しましたが、これについては後で紹介します。
1. __FILE__ デフォルトの定数は、PHP プログラムのファイル名とパスを指します。
2. __LINE__ デフォルトの定数は、PHP プログラムの行数を指します
3. __CLASS__ クラスの名前。
カスタム定数:define() 関数を通じて定数を定義します。
構文形式は次のとおりです: bool define ( string $name,mixed $value [, bool case_$insensitive] )
name: 定数の名前を指定します。
value: 定数の値を指定します。
insensitive: 定数名の大文字と小文字を区別するかどうかを指定します。 true に設定すると大文字と小文字が区別されません。false に設定すると大文字と小文字が区別されます。このパラメータが設定されていない場合、デフォルト値は false です。
// 法定定数名
定義("FOO", "何か");
定義("FOO2", "何か他のもの");
定義("FOO_BAR", "もっと何か");
//不正な定数名
// 次の定義は正当ですが、避けてください: (カスタム定数は __ で始まらない)
// これはコードと競合します
定義("__FOO__", "何か");
?>
名前 | 手順 |
---|---|
__LINE__ | ファイル内の現在の行番号。 |
__ファイル__ | ファイルのフルパスとファイル名。インクルードされたファイル内で使用された場合、インクルードされたファイルの名前を返します。 PHP 4.0.2 以降、__FILE__ には常に絶対パス (またはシンボリック リンクの場合は解決された絶対パス) が含まれていますが、それより前のバージョンには相対パスが含まれる場合がありました。 |
__DIR__ | ファイルが配置されているディレクトリ。インクルードされたファイル内で使用された場合、インクルードされたファイルが配置されているディレクトリを返します。 dirname(__FILE__)と同等です。ルート ディレクトリでない限り、ディレクトリ名には末尾のスラッシュは含まれません。 (PHP 5.3.0 の新機能) = |
__機能__ | 関数名 (PHP 4.3.0 で新しく追加されました)。 PHP 5 以降、この定数は定義されたとおりの関数名を返します (大文字と小文字は区別されます)。 PHP 4 では、この値は常に小文字です。 |
__クラス__ | クラスの名前 (PHP 4.3.0 の新機能)。 PHP 5 以降、この定数は定義されたときのクラスの名前を返します (大文字と小文字は区別されます)。 PHP 4 では、この値は常に小文字です。 |
__方法__ | クラスのメソッド名 (PHP 5.0.0 で新しく追加されました)。定義されたとおりのメソッド名を返します (大文字と小文字が区別されます)。 |
__NAMESPACE__ | 現在の名前空間の名前 (大文字と小文字が区別されます)。この定数はコンパイル時に定義されます (PHP 5.3.0 の新機能) |