この章では変数の定義について説明します。
変数と定数を定義する際に、どのような点に注意しますか?あなたは次のように考えているかもしれません:
変数を定義する方法と、C# などの言語との違いは何ですか? 変数では大文字と小文字が区別されますか? PHP には他に重要な変数はありますか?
定数と変数は同じように定義されていますか? 別々に伝えましょう。
1.変数の定義方法とC#などの言語との違いは?
PHP の変数は、ドル記号とそれに続く変数名で表されます。変数名では大文字と小文字が区別されます。例:
$var = ' Jim ' ;
$VAR = ' Kim;
echo "$var,$VAR";//出力 "Jim,Kimi"
?>注意 変数の命名は、実際にはほとんどの言語と同じです。
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
1 php
2 $var = 0;
3 function test( $index)
4 {
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 [ "
" ;
11 ? > コードに何か特別なものはありますか?それは、スーパーグローバル変数 $GLOBALS を使用することです。
PHP には静的変数という用語もあります。ただし、静的変数は通常関数内で使用され、ローカル変数のみにすることができます。次のコードを見てください:
1 php
2 function Test()
4 { static $a = 0 ;
5 echo $a . "
" ;
7 }
8 Test();
9 Test();
10 ?>
1
2
以下の例を見てください:
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() 関数でのみ定義できます。
定数は、ルールに従ってどこでも定義およびアクセスできる変数スコープを無視できます。
一度定義された定数は、再定義または未定義にすることはできません
定数の値はスカラーのみです。

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

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

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

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

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

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

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

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


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ドリームウィーバー CS6
ビジュアル Web 開発ツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

ホットトピック









