ホームページ バックエンド開発 PHPの問題 PHPのグローバル配列とは何ですか

PHPのグローバル配列とは何ですか

May 17, 2022 pm 03:42 PM
php PHP配列

php グローバル配列は 9 つあります: 1. 「$GLOBALS」、すべての定義済みグローバル変数で構成される配列; 2. 「$_SERVER」、ヘッダー情報、パス、スクリプトの場所が含まれます。 3. "$_COOKIE"、セッション データで構成される配列、4. "$_GET"、5. "$_ENV" など。

PHPのグローバル配列とは何ですか

このチュートリアルの動作環境: Windows7 システム、PHP バージョン 8.1、DELL G3 コンピューター

php グローバル配列

php グローバル配列の正式名称は「スーパーグローバル配列」または「スーパーグローバル変数」で、PHPで特別に定義された配列変数です。これらの配列はスクリプト内にあり、関数、クラス、ファイルなどの任意のスコープ内でどこからでもアクセスできます。

スーパーグローバル配列変数は、すべてのスコープで常に使用できる組み込み変数です。

PHP のスーパーグローバル配列には次の 9 個が含まれます:

  • $GLOBALS: 現在の各スクリプトのグローバル変数スコープへの参照が含まれます。内の変数。この配列のキー名はグローバル変数の名前です。

  • $_SERVER: サーバー関連情報の表示または取得;

  • $_GET: アドレス バーを介してサーバーにデータを渡します。メソッドは $_GET モードで渡される必要があります;

  • $_POST: フォームを通じて送信されるデータは POST モードである必要があります;

  • $ _REQUEST: 上記 2 つのデータ転送メソッド (POST と GET) が含まれます;

  • $_COOKIE: クライアントのセッション データを処理します;

  • $ _SESSION: サーバー側セッション データを処理します;

  • $_FILES: ファイルをアップロードするために必要な配列;

  • $_ENV: によって送信された変数実行環境からスクリプトへ

$_GET

    原則

  • PHPのグローバル配列とは何ですか
  • 使用法 1: ブラウザはハイパーリンクを通じてサーバーに情報を送信します (デフォルトは GET)

<meta>


//注意:信息如何传递!!!
<a>数据</a>

ログイン後にコピー
rree
    注: IE5.5 および IE6 では中国語の奇数が文字化けする問題がありますが、どうすれば解決できますか? URLコードとURLデコード。

<meta>


<?php echo "<pre class="brush:php;toolbar:false">";
 	echo print_r($_GET);
	echo "
ログイン後にコピー
ログイン後にコピー
"; echo $_GET['name']; ?>

<meta>


<?php $city=urlencode("大西安");
	echo "<a href=&#39;1.php?city={$city}&name=tan&#39;>数据";
?>

ログイン後にコピー
    使用 2: ブラウザはフォームを通じてサーバーに情報を送信します ($_POST を使用するのが最善です)

<meta>


<?php echo "<pre class="brush:php;toolbar:false">";
 	echo print_r($_GET);
	echo "
ログイン後にコピー
ログイン後にコピー
"; echo urldecode($_GET['city']); ?>

<meta>


ログイン後にコピー
ログイン後にコピー
输入内容:
    有効化を無効にするregister_globals: Set register_globals =off;
  • Enable register_globals. 次のコードにアクセスするときに http://localhost:88/1.php?a=10&b=20; と入力すると、10 20 が返されます。

<meta>




ログイン後にコピー

$_POST

    post を通じて送信されたデータは、$_POST スーパー グローバル配列にカプセル化されます。
  • 使用例 1: ブラウザはフォームを通じてサーバーに情報を送信します (一部のデータは post メソッドを使用する必要があります)

<meta>




ログイン後にコピー

<meta>


ログイン後にコピー
ログイン後にコピー
用户名:
密码:
性别:
籍贯:
爱好:唱歌 跳舞 LOL
个人简介:
文件上传:
  • POST メソッドの違いGET メソッド

      POST メソッドはセキュリティが優れています
    • #データ送信サイズ (POST メソッドが大きい)
    • #お気に入りに保存 (GET メソッド)
$_REQUEST

$_REQUEST は、$_POST、$_GET、$_COOKIE を含む配列です。配列構造は次のとおりです。 $_POST および $_GET と同じです。

つまり、データが POST または GET を使用して送信されたかどうかに関係なく、$_REQUEST を使用してデータを取得でき、$_REQUEST を使用して COOKIE 情報を取得することもできます。 request_order 属性は PHP5.3 で導入され、php.ini 設定ファイルの request_order 属性の値を変更することで、$_REQUEST に含まれるコンテンツを制御できます。

request_order 属性の値には、それぞれ GET、POST、COOKIE を表す 3 つの大文字の英語文字 G、P、C を指定できます。デフォルトでは、request_order 属性のデフォルト値は request_order="GP" であり、これには C が含まれていません。つまり、$_REQUEST に COOKIE 情報が含まれていないことを意味します。$_REQUEST に COOKIE を含めたい場合は、それを request_order に変更する必要があります。 =「GPC」。

注:

$_REQUEST は頻繁に使用しないでください (複数のメッセージが混在するため)。


<meta>


"; 
	//如何接收checkbox的所有数据(注意中括号[]):唱歌
	echo print_r($_POST);
	echo "
ログイン後にコピー
"; $hobbies=$_POST['hobby']; foreach($hobbies as $key=>$val){ echo "
".$key." ".$val; } ?> rrree$_SERVER['REQUEST_METHOD'] を介した GET と POST を区別する
    
    <meta>
    
    
    超链接
    
    ログイン後にコピー
    用户名:
    密码:
  • $_SERVER

    $_SERVER は、ヘッダー情報、パス、スクリプトの場所などの情報を含む配列です。配列のエンティティは Web サーバーによって作成されますが、すべてのサーバーがすべての情報を生成できるという保証はありません。サーバーは一部の情報を無視したり、他の新しい情報を生成したりする可能性があります。他のスーパーグローバル配列と同様に、これはすべてのスクリプトで使用できる自動グローバル変数であり、関数やオブジェクト メソッドでアクセスするために global キーワードを使用する必要はありません。

    $_ENV

    获取服务器端的环境变量,通过修改php.ini的variables_order="EGPCS"启动。

    $_ENV数组中的内容是在PHP解析器运行时,从PHP所在服务器中的环境变量转变为PHP全局变量的。它们中许多都是由PHP所运行的系统决定的,完整的列表是不可能的,需要查看PHP所在服务器的系统文档以确定其特定的环境变量。

    $GLOBALS

    $GLOBALS是由所有已定义的全局变量组成的数组,变量名就是该数组的索引。

    • 包含了全部变量的全局组合数组。

    • 当定义一个全局变量,也会被$GLOBALS管理。
    
    <meta>
    
    
    ";
    	print_r($GLOBALS);
    	echo "
    ログイン後にコピー
    "; ?>

    PHPのグローバル配列とは何ですか

    $_FILES

    使用表单的file输入域上传文件时,必须使用post提交。但在服务器文件中,并不能通过$_POST超全局数组获取到表单中file域的内容。而$_FILES超全局变量是通过post方法传递的已上传文件项目组成的数组。$_FILES是一个二维数组,包含5个子数组元素,其中第一个下标是表单中file输入域的名称,第二个下标用于描述上传文件的属性。

    $_COOKIE

    $_COOKIE超全局数组是经由HTTP Cookies方法提交至脚本的变量。通常这些Cookies是由以前执行的PHP脚本通过setCookies()函数设置到客户端浏览器中的,当PHP脚本从客户浏览器提取了一个cookie后,它将自动把它转换成一个变量,可以通过这个$_COOKIE超全局数组和cookie的名称来存取指定的cookie值。

    $_SESSION

    会话控制是在服务器端使用session跟踪用户,当服务器页面中使用session_start()函数开启session后,就可以使用$_SESSION数组注册全局变量,用户就可以在整个网站中访问这些会员信息。

    说明:$_COOKIE、$_SESSION、$_REQUEST的区别

    在 PHP 中,cookie 就是服务器,它是留在客户端(浏览器)上的一个小的数据文件,通常用于标识用户信息,也称为浏览器缓存或 Cookies。

    $_COOKIE[] 全局数组存储了通过 HTTP COOKIE 传递到脚本的信息,PHP 可通过 setcookie() 函数设置 COOKIE 的值,用 $_COOKIE[] 数组接收 COOKIE 的值,$_COOKIE[] 数组的索引为 COOKIE 的名称。

    session 是一种客户与网站(服务器)更为安全的对话方式,一旦开启了 session 会话,便可以在网站的任何页面使用(保持)这个会话,从而让访问者与网站之间建立了一种“对话”机制。但是 session 不同于 cookie,必须先启动,才能生效。

    $_SESSION[] 数组用于获取会话变量的相关信息。

    $_REQUEST 支持 $_GET 和 $_POST 发送过来的请求,即 get 和 post 它都可以接受,浏览器地址栏中的数据显示不显示要看传递的方法,get 会显示在 url 中(有字符限制),post 不会显示在 url 中,可以传递任意多的数据(只要服务器支持)。

    默认情况下,$_REQUEST[] 数组包含了 $_GET、$_POST 和 $_COOKIE 的数组。

    推荐学习:《PHP视频教程

    以上がPHPのグローバル配列とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

    ホット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衣類リムーバー

    AI Hentai Generator

    AI Hentai Generator

    AIヘンタイを無料で生成します。

    ホットツール

    メモ帳++7.3.1

    メモ帳++7.3.1

    使いやすく無料のコードエディター

    SublimeText3 中国語版

    SublimeText3 中国語版

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

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強力な PHP 統合開発環境

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    SublimeText3 Mac版

    SublimeText3 Mac版

    神レベルのコード編集ソフト(SublimeText3)

    CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

    この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

    Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

    PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

    CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

    Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

    CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

    ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

    CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

    この章では、ルーティングに関連する次のトピックを学習します。

    CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

    CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

    PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

    Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

    CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

    Validator は、コントローラーに次の 2 行を追加することで作成できます。

    See all articles