PHP 4.1.0 で導入されたスーパーグローバル変数は、すべてのスコープで常に使用できる組み込み変数です。
スーパー グローバル変数 — スーパー グローバル変数は、すべてのスコープで常に使用できる組み込み変数です。
PHP の事前定義変数の多くは「スーパーグローバル」です。つまり、スクリプトのスコープ全体で使用できます。これらは、 global $variable; を実行せずに、関数またはメソッド内でアクセスできます。
#これらのスーパー グローバル変数は次のとおりです:
##$GLOBALS — グローバル スコープで使用可能なすべての変数を参照します。
すべての変数を含むグローバルな組み合わせ 配列。変数の名前は配列のキーです。 ##
<?php
function test(){
$foo = "local variable";
echo '$foo in global scope:'.$GLOBALS['foo'].'<br />';//$foo in global scope:Example content
echo '$foo in current scope:'.$foo.'<br />';//$foo in current scope:local variable
$GLOBALS['foo'] = '1111';
echo '$foo in global scope:'.$GLOBALS['foo'].'<br />';//$foo in global scope:1111}
$foo = "Example content";
test();
echo $foo.'<br />';//1111 ログイン後にコピー
<?= = ] = $GLOBALS[] + $GLOBALS[];.$b.; ログイン後にコピー
global はグローバル変数の定義に使用されますが、これはグローバル変数は Web サイト全体には適用されませんが、include または require 内のすべてのファイルを含む現在のページに適用されます。ただし、関数本体内で定義したグローバル変数は関数本体内で使用できますが、関数本体外で定義したグローバル変数は関数本体内で使用できませんので、詳細は以下の例を参照してください。
(1) 関数本体内で使用できるグローバル変数を関数本体内で定義します。
<?php
$a = 1;
$b = 2;
function sum(){ global $a,$b;//在函数内声明为全局变量
$b = $a + $b;
}
sum();
echo $a.'---'.$b.'<br />';//1---3 ログイン後にコピー
(2) グローバル変数は関数本体の外で定義し、関数本体内で使用することはできません。
$a = 1;global $a;//在函数体外把$a定义为global变量function aa(){
echo $a;
}
aa();//会报错,不能输出变量 ログイン後にコピー
##$_SERVER --
$HTTP_SERVER_VARS [削除済み] --
サーバーと実行環境の情報 は、ヘッダー、パス、スクリプトの場所などの情報が含まれるファイルです。情報の配列などです。この配列内の項目は Web サーバーによって作成されます。すべてのサーバーがすべてのアイテムを提供するという保証はありません。サーバーは一部を無視したり、ここにリストされていないアイテムを提供したりする可能性があります。 次の表は、$_SERVER:
でアクセスできる最も重要な要素を示しています。
要素/コード 説明 $_SERVER['PHP_SELF'] 現在のものを返します実行スクリプトのファイル名。 $_SERVER['GATEWAY_INTERFACE'] サーバーが使用する CGI 仕様のバージョンを返します。 $_SERVER['SERVER_ADDR'] スクリプトが現在実行されているサーバーの IP アドレスを返します。 $_SERVER['SERVER_NAME'] スクリプトが現在実行されているサーバーのホスト名を返します。 $_SERVER['SERVER_SOFTWARE'] サーバー識別文字列 (Apache/2.2.24 など) を返します。 $_SERVER['SERVER_PROTOCOL'] ページが要求されたときの通信プロトコルの名前とバージョンを返します (たとえば、「HTTP/1.0」)。 $_SERVER['REQUEST_METHOD'] ページへのアクセスに使用されるリクエスト メソッド (POST など) を返します。 $_SERVER['REQUEST_TIME'] リクエストが開始されたときのタイムスタンプを返します (例: 1577687494)。 $_SERVER['QUERY_STRING'] このページがクエリ文字列を介してアクセスされた場合は、クエリ文字列を返します。 $_SERVER['HTTP_ACCEPT'] 現在のリクエストからリクエスト ヘッダーを返します。 #$_SERVER['HTTP_ACCEPT_CHARSET'] 現在のリクエストから Accept_Charset ヘッダーを返します (utf-8、ISO-8859-1 など) $_SERVER['HTTP_HOST'] 現在のリクエストから Host ヘッダーを返します。 $_SERVER['HTTP_REFERER'] 現在のページの完全な URL を返します (すべてのユーザー エージェントでサポートされていないため信頼できません)。 $_SERVER['HTTPS'] 安全な HTTP プロトコルを通じてスクリプトをクエリするかどうか。 $_SERVER['REMOTE_ADDR'] 現在のページを閲覧しているユーザーの IP アドレスを返します。 $_SERVER['REMOTE_HOST'] 現在のページを閲覧しているユーザーのホスト名を返します。 $_SERVER['REMOTE_PORT'] ユーザーのマシン上の Web サーバーへの接続に使用されるポート番号を返します。 $_SERVER['SCRIPT_FILENAME'] 現在実行中のスクリプトの絶対パスを返します。 $_SERVER['SERVER_ADMIN'] この値は、Apache サーバー構成ファイルの SERVER_ADMIN パラメータを指定します。 $_SERVER['SERVER_PORT'] Web サーバーによって使用されるポート。デフォルト値は「80」です。 $_SERVER['SERVER_SIGNATURE'] サーバーのバージョンと仮想ホスト名を返します。 $_SERVER['PATH_TRANSLATED'] 現在のスクリプトが配置されているファイル システムのベース パス (ドキュメント ルート ディレクトリではありません)。 $_SERVER['SCRIPT_NAME'] 現在のスクリプトのパスを返します。 $_SERVER['SCRIPT_URI'] 現在のページの URI を返します。
<?php
echo '<pre class="brush:php;toolbar:false">';
print_r($_SERVER); ログイン後にコピー
$_GET -- $HTTP_GET_VARS [已弃用] — HTTP GET 变量
通过 URL 参数传递给当前脚本的变量的数组。
$_POST -- $HTTP_POST_VARS [已弃用] — HTTP POST 变量
当 HTTP POST 请求的 Content-Type 是 application/x-www-form-urlencoded 或 multipart/form-data 时,会将变量以关联数组形式传入当前脚本。
$_FILES -- $HTTP_POST_FILES [已弃用] — HTTP 文件上传变量
通过 HTTP POST 方式上传到当前脚本的项目的数组。
$_COOKIE -- $HTTP_COOKIE_VARS [已弃用] — HTTP Cookies
通过 HTTP Cookies 方式传递给当前脚本的变量的数组。
$_SESSION -- $HTTP_SESSION_VARS [已弃用] — Session 变量
当前脚本可用 SESSION 变量的数组
$_REQUEST — HTTP Request 变量
$_ENV -- $HTTP_ENV_VARS [已弃用] — 环境变量
通过环境方式传递给当前脚本的变量的数组。
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
php中imagettfbbox和imagettftext 文字图片自动换行的方法
PHP中的常见魔术方法功能作用及用法
以上がPHP スーパーグローバル変数の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。
Apr 05, 2025 am 12:04 AM
JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。
セッションのハイジャックはどのように機能し、どのようにPHPでそれを軽減できますか?
Apr 06, 2025 am 12:02 AM
セッションハイジャックは、次の手順で達成できます。1。セッションIDを取得します。2。セッションIDを使用します。3。セッションをアクティブに保ちます。 PHPでのセッションハイジャックを防ぐための方法には次のものが含まれます。1。セッション_regenerate_id()関数を使用して、セッションIDを再生します。2。データベースを介してストアセッションデータを3。
確固たる原則と、それらがPHP開発にどのように適用されるかを説明してください。
Apr 03, 2025 am 12:04 AM
PHP開発における固体原理の適用には、次のものが含まれます。1。単一責任原則(SRP):各クラスは1つの機能のみを担当します。 2。オープンおよびクローズ原理(OCP):変更は、変更ではなく拡張によって達成されます。 3。Lischの代替原則(LSP):サブクラスは、プログラムの精度に影響を与えることなく、基本クラスを置き換えることができます。 4。インターフェイス分離原理(ISP):依存関係や未使用の方法を避けるために、細粒インターフェイスを使用します。 5。依存関係の反転原理(DIP):高レベルのモジュールと低レベルのモジュールは抽象化に依存し、依存関係噴射を通じて実装されます。
phpstormでCLIモードをデバッグする方法は?
Apr 01, 2025 pm 02:57 PM
phpstormでCLIモードをデバッグする方法は? PHPStormで開発するときは、PHPをコマンドラインインターフェイス(CLI)モードでデバッグする必要がある場合があります。
PHPでの後期静的結合を説明します(静的::)。
Apr 03, 2025 am 12:04 AM
静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。
See all articles