ホームページ  >  記事  >  バックエンド開発  >  プリティ・ディア・リズム 私の未来 PHP セクション 3 変数の紹介

プリティ・ディア・リズム 私の未来 PHP セクション 3 変数の紹介

WBOY
WBOYオリジナル
2016-07-29 08:48:32990ブラウズ

変数名は、PHP の他のタグと同じルールに従います。有効な変数名は文字またはアンダースコアで始まり、その後に任意の数の文字、数字、またはアンダースコアが続きます。通常の正規表現では「[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*」と表現されます。
注: $this は特別な変数であり、値を割り当てることはできません。
変数はデフォルトで常に値によって割り当てられます。つまり、式の値が変数に代入される場合、元の式全体の値がターゲット変数に代入されます。これは、たとえば、ある変数の値が別の変数に割り当てられているときにその変数の値を変更しても、他の変数には影響を与えないことを意味します。このタイプの代入演算については、「式」の章を参照してください。
PHP は、変数に値を代入する別の方法、参照代入も提供します。これは、新しい変数が単に元の変数を参照する (つまり、「エイリアス」または「ポイントする」) ことを意味します。新しい変数を変更すると元の変数に影響し、その逆も同様です。
参照代入を使用するには、代入する変数 (ソース変数) の前に & 記号を追加するだけです。
1 つの重要な点を指摘しなければなりません。それは、名前を持つ変数のみが参照によって割り当てられるということです。

コードをコピー コードは次のとおりです:


$foo = 25;
$bar = &$foo; // 正当な割り当て
$bar = &(24 * 7); // 名前のない式を参照します
function test()
{
return 25;
$bar = &test(); // 変数を初期化する必要はありませんPHP では、変数を初期化することをお勧めします。初期化されていない変数には、その型のデフォルト値があります。ブール変数の場合は FALSE、整数および浮動小数点変数の場合は 0、文字列変数の場合は空の文字列、配列変数の場合は空の配列です。
初期化されていない変数のデフォルト値に依存すると、あるファイルを同じ変数名を持つ別のファイルに含める場合など、特定の状況では問題が発生する可能性があります。また、 register_globals をオンにすることは、重大なセキュリティ リスクになります。初期化されていない変数を使用すると E_NOTICE エラーが発生しますが、初期化されていない配列に要素を追加しても E_NOTICE エラーは発生しません。 isset() 言語構造を使用すると、変数が初期化されているかどうかを検出できます。
事前定義された変数
PHP には、多数の事前定義された変数が用意されています。多くの変数は実行中のサーバーのバージョンや設定、その他の要因に依存するため、詳細なドキュメントは利用できません。一部の事前定義変数は、PHP をコマンド ラインから実行すると有効になりません。

PHP 4.1.0 以降、PHP は、Web サーバー (利用可能な場合)、ランタイム環境、およびユーザー入力からのデータを含む、事前に決定された配列変数の追加セットを提供します。これらの配列は、グローバルに自動的に有効になる、つまり、どのスコープでも自動的に有効になるという点で非常に特殊です。したがって、それらはオートグローバルまたはスーパーグローバルと呼ばれることがよくあります。 (PHP にはユーザー定義のスーパーグローバル変数のメカニズムはありません。) スーパーグローバル変数は以下にリストされていますが、その内容と、PHP の事前定義変数とその性質の詳細については、「事前定義変数」を参照してください。さらに、古い事前定義配列 ($HTTP_*_VARS) がまだ存在していることにも気づくでしょう。 PHP 5.0.0 以降、long 型の PHP 定義済み変数配列は、オプション register_long_arrays を設定することで無効にできます。
変数スコープ
変数のスコープは、変数が定義されているコンテキスト スコープ (つまり、その有効スコープ) です。ほとんどの PHP 変数にはスコープが 1 つだけあります。この単一スコープ スパンには、include および require によって導入されたファイルも含まれます。
PHP のグローバル変数は C 言語とは少し異なります。C 言語では、ローカル変数によってオーバーライドされない限り、グローバル変数は関数内で自動的に有効になります。 PHP のローカル変数を使用した場合、グローバル変数は上書きされず、変数のデフォルトの初期値になります。これにより問題が発生する可能性があり、誰かが誤ってグローバル変数を変更してしまう可能性があります。 PHP のグローバル変数を関数で使用する場合は、グローバル変数を宣言する必要があります。
静的変数を使用する
変数スコープのもう 1 つの重要な機能は、静的変数です。静的変数はローカル関数スコープ内にのみ存在しますが、プログラムの実行がこのスコープを離れても、その値は失われません。
上記はプリティーリズム・ディアマイフューチャーのPHPセクション3変数の紹介を紹介しており、プリティーリズム・ディアマイフューチャーの内容も含めて、PHPチュートリアルに興味のある友人に役立つことを願っています。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。