検索

この章では変数の定義について説明します。
変数と定数を定義する際に、どのような点に注意しますか?あなたは次のように考えているかもしれません:
変数を定義する方法と、C# などの言語との違いは何ですか? 変数では大文字と小文字が区別されますか? PHP には他に重要な変数はありますか?
定数と変数は同じように定義されていますか? 別々に伝えましょう。
1.変数の定義方法とC#などの言語との違いは?
PHP の変数は、ドル記号とそれに続く変数名で表されます。変数名では大文字と小文字が区別されます。例:

$var = ' Jim ' ;
$VAR = ' Kim;
echo "$var,$VAR";//出力 "Jim,Kimi"
?>注意 変数の命名は、実際にはほとんどの言語と同じです。

2. 変数では大文字と小文字が区別されますか?
1で述べたように、大文字と小文字は区別されます。
注、説明する必要があることの 1 つは、PHP4 以降、参照割り当ての概念が導入されたということです。これは実際にはほとんどの言語の参照に似ていますが、最も似ているのは C/C++ だと思います。 「&」記号。例:
1 php

2 $foo = ' Bob ' ; // 'Bob' を foo に割り当てます
3 $bar = & $foo ; // $bar を変更します
5 echo $bar ; 6 echo $foo ; // $foo も変更されます
他の言語と同様に、変数名を持つ変数のみを参照できます。
3. PHP のその他の重要なポイント
事前定義された変数
事前定義された変数は、PHP の重要な概念です。 PHP には、事前定義された変数が多数用意されています。これらの変数の多くは、実行中のサーバーのバージョンや設定などの要因に依存するため、詳細なドキュメントは用意されていません。一部の事前定義変数は、PHP をコマンド ラインから実行すると有効になりません。

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 の値を取得します。

PHP 4.1.0 以降、PHP は、Web サーバー (利用可能な場合)、ランタイム環境、およびユーザー入力からのデータを含む、事前に決定された配列変数の追加セットを提供します。これらの配列は、自動的にグローバルに、つまりどのスコープでも自動的に有効になるという点で非常に特殊です。したがって、それらはオートグローバルまたはスーパーグローバルと呼ばれることがよくあります。 (PHP にはユーザー定義のスーパーグローバル変数のメカニズムはありません。) スーパーグローバル変数を以下にリストします。また、古い定義済み配列 ($HTTP_*_VARS) がまだ存在していることに気づくでしょう。 PHP 5.0.0 以降、長い形式の PHP 定義済み変数は register_long_arrays を設定することでマスクできます。
次の表は、PHP のスーパーグローバル変数です:

スーパーグローバル変数
説明
$GLOBALS 現在のスクリプトのグローバル スコープで有効な各変数への参照が含まれています。この配列のキー名はグローバル変数の名前です。 $GLOBALS 配列は PHP 3 以降に存在します。
$_SERVER 変数は Web サーバーによって設定されるか、現在のスクリプトの実行環境に直接関連付けられます。古い $HTTP_SERVER_VARS 配列に似ています (まだ有効ですが、非推奨です)。
$_GET URL リクエストを通じてスクリプトに送信される変数。古い $HTTP_GET_VARS 配列に似ています (まだ有効ですが、非推奨です)。
$_POST HTTP POST メソッド経由でスクリプトに送信される変数。古い $HTTP_POST_VARS 配列に似ています (まだ有効ですが、非推奨です)。
$_COOKIE HTTP Cookie メソッドを介してスクリプトに送信される変数。古い $HTTP_COOKIE_VARS 配列に似ています (まだ有効ですが、非推奨です)。
$_FILES HTTP POST ファイルアップロード経由でスクリプトに送信される変数。古い配列 $HTTP_POST_FILES 配列に似ています (まだ有効ですが、非推奨です)
$_ENV 実行環境によってスクリプトに送信される変数。古い $HTTP_ENV_VARS 配列に似ています (まだ有効ですが、非推奨です)。
$_REQUEST 変数は GET、POST、COOKIE メカニズムを介してスクリプトに送信されるため、この配列は信頼できません。この配列に含まれるすべての変数の有無、および順序は、php.ini の variables_order 設定ディレクティブに従って定義されます。この配列には、PHP 4.1.0 より前には直接対応するものはありません。 import_request_variables() を参照してください。
$_SESSION スクリプト セッションに現在登録されている変数。古い配列 $HTTP_SESSION_VARS 配列に似ています (まだ有効ですが、非推奨です)
変数のアプリケーション スコープ
すべての変数にはアプリケーション スコープがありますが、PHP ではどのように定義されているのでしょうか?まず次のコードを見てみましょう:
1 2 $var = 0;
3 function test( $index)
4 {
5 $var = $var + 1;
6 echo " " .$index. ?
次のように思われる場合:
結果 1:

1 の数字は 1
2 の数字は 2 申し訳ありませんが、結果は間違っています。
実際、正しい結果は次のようになります:
結果 2

1 の数値は 1
2 の数値は 1

それで、何が分かりましたか? 2行目のコードは外部で定義されていますが、5行目の変数はそれとは異なることが分かります。 5 行目の変数はこの関数でのみ使用されます。さらに、最初の行で変数を呼び出して結果 2 を表示したい場合、コードは次のようになります:

1 php
2 $var = 0;

3 function test( $index)
4 {

5 global $ var;
6 (2)

11 ?>
このコード スニペットと上記のコード スニペットの違いは何ですか? 5 行目に追加のグローバル キーワードがあることに注意してください。理解する。
他の方法はありますか?答えは「はい」です。
コードは次のとおりです:
1 php
2 $var = 0;
3 function test( $index)
4 {
5
6 $GLOBALS [ " var " ] = $GLOBALS [ var " ] + 1 ;
7 echo " . $index . " 番号は " . $GLOBALS [ "
" ;

9 test( 1 )
11 ? > コードに何か特別なものはありますか?それは、スーパーグローバル変数 $GLOBALS を使用することです。
PHP には静的変数という用語もあります。ただし、静的変数は通常関数内で使用され、ローカル変数のみにすることができます。次のコードを見てください:
1 php

2 function Test()
4 { static $a = 0 ;
5 echo $a . "
" ;
7 }
8 Test();
9 Test();
10 ?>

1
2

PHP には、変数変数という非常に興味深い機能もあります。 、変数の変数名を動的に設定して使用できます。
以下の例を見てください:
1 php

3 $hello " ;
4 echo $a . " $a ;
実際に出力された結果は hello, world です。 $a の値は hello であるため、$$a は実際には $hello です。
変数がたくさんあります。定数を見てみましょう。

定数
PHP 定数の前に const が付きますか?見てみましょう。
いいえ。 PHP では、次のように定義する必要があります。
bool define ( string name,mixed value [, bool case_insensitive] )
name は定数の名前、value は定数の値です。 case_insensitive] では大文字と小文字が区別されます。デフォルトは機密です。例:
1 php

2 define ( " CONSTANT " , " Hello world. " );
3 echo CONSTANT ; // "Hello world" を出力します。
4 echo Constant ;通知を発行します
5
6 define ( " GREETING " , " Hello you. " , true );
7 echo GREETING; // 「こんにちは。」 を出力します。 9
10 ?>


定数と変数は異なります:


定数の前にドル記号 ($) はありません。

定数は、代入ステートメントではなく、define() 関数でのみ定義できます。

定数は、ルールに従ってどこでも定義およびアクセスできる変数スコープを無視できます。

一度定義された定数は、再定義または未定義にすることはできません

定数の値はスカラーのみです。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
どのデータをPHPセッションに保存できますか?どのデータをPHPセッションに保存できますか?May 02, 2025 am 12:17 AM

phpssionscanStorestrings、numbers、arrays、andobjects.1.strings:textdatalikeusernames.2.numbers:integersorfloatsforcounters.3.arrays:listslikeshoppingcarts.4.objects:complextructuresthataresialized。

どのようにPHPセッションを開始しますか?どのようにPHPセッションを開始しますか?May 02, 2025 am 12:16 AM

tostartaphpsession、outsession_start()atthescript'sbeginning.1)placeitbe foreanyouttosetthesscookie.2)usesionsionsionsionserdatalikelogintatussorshoppingcarts.3)再生セッションインドストップレベントフィックスアタック

セッションの再生とは何ですか?また、セキュリティをどのように改善しますか?セッションの再生とは何ですか?また、セキュリティをどのように改善しますか?May 02, 2025 am 12:15 AM

セッション再生とは、新しいセッションIDを生成し、セッション固定攻撃の場合にユーザーが機密操作を実行するときに古いIDを無効にすることを指します。実装の手順には次のものが含まれます。1。感度操作を検出、2。新しいセッションIDを生成する、3。古いセッションIDを破壊し、4。ユーザー側のセッション情報を更新します。

PHPセッションを使用する際のパフォーマンスの考慮事項は何ですか?PHPセッションを使用する際のパフォーマンスの考慮事項は何ですか?May 02, 2025 am 12:11 AM

PHPセッションは、アプリケーションのパフォーマンスに大きな影響を与えます。最適化方法には以下が含まれます。1。データベースを使用してセッションデータを保存して応答速度を向上させます。 2。セッションデータの使用を削減し、必要な情報のみを保存します。 3.非ブロッキングセッションプロセッサを使用して、同時実行機能を改善します。 4.セッションの有効期限を調整して、ユーザーエクスペリエンスとサーバーの負担のバランスを取ります。 5.永続的なセッションを使用して、データの読み取り時間と書き込み時間を減らします。

PHPセッションはCookieとどのように異なりますか?PHPセッションはCookieとどのように異なりますか?May 02, 2025 am 12:03 AM

phpsesionsareserver-side、whilecookiesareclient-side.1)Sessionsionsionsoredataontheserver、aremoresecure.2)cookiesstoredataontheclient、cookiestoresecure、andlimitedinsizeisize.sesionsionsionivationivationivationivationivationivationivationivate

PHPはユーザーのセッションをどのように識別しますか?PHPはユーザーのセッションをどのように識別しますか?May 01, 2025 am 12:23 AM

phpidentifiesauser'ssessionsingsinssessionCookiesIds.1)whensession_start()iscalled、phpgeneratesauniquesidstoredsored incoookienadphpsessidontheuser'sbrowser.2)thisidallowsphptortorieSessiondatadata fromthata

PHPセッションを保護するためのベストプラクティスは何ですか?PHPセッションを保護するためのベストプラクティスは何ですか?May 01, 2025 am 12:22 AM

PHPセッションのセキュリティは、次の測定を通じて達成できます。1。session_regenerate_id()を使用して、ユーザーがログインまたは重要な操作である場合にセッションIDを再生します。 2. HTTPSプロトコルを介して送信セッションIDを暗号化します。 3。Session_Save_Path()を使用して、セッションデータを保存し、権限を正しく設定するためのSecure Directoryを指定します。

PHPセッションファイルはデフォルトで保存されていますか?PHPセッションファイルはデフォルトで保存されていますか?May 01, 2025 am 12:15 AM

phpsessionFilesToredInthededirectoryspecifiedBysession.save_path、通常/tmponunix-likesystemsorc:\ windows \ temponwindows.tocustomizethis:1)uesession_save_path()tosetaCustomdirectory、ensuringit'swritadistradistradistradistradistra

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン