ホームページ  >  記事  >  バックエンド開発  >  PHPでURLに配列を入れて送信する方法

PHPでURLに配列を入れて送信する方法

PHPz
PHPzオリジナル
2023-04-26 09:21:541190ブラウズ

PHP では、配列を使用して一連のデータを保存し、そのデータを特定の形式で他のページまたはシステムに渡すことができます。 URLに配列を入れて送信するのが一般的な方法です。

URL での配列の送信は、次の 2 つの方法で実現できます。

  1. GET リクエスト メソッドを使用し、配列をシリアル化します
#GET request メソッドは、キーと値のペアの形式で URL の末尾にデータを追加でき、配列をシリアル化して、URL 追加を通じてシリアル化された文字列を渡すことができます。

実装は次のとおりです:

<?php
// 将数组进行序列化,结果是一个字符串
$data = array(&#39;name&#39;=>'张三', 'age'=>18, 'sex'=>'男');
$queryString = http_build_query($data);

// 假设当前页面的url是http://www.example.com/test.php,将序列化后的字符串追加在url的末尾即可
$url = 'http://www.example.com/test.php?' . $queryString;
echo $url; // 输出结果:http://www.example.com/test.php?name=%E5%BC%A0%E4%B8%89&age=18&sex=%E7%94%B7
?>
上の例では、

http_build_query() 関数を使用して配列をシリアル化しました。この関数は、配列を URL エンコードされた文字列に変換します。同時に、シリアル化された文字列を現在のページの URL の末尾に追加して、新しい URL を生成します。

受信側が URL 内のデータを取得するときは、

$_GETスーパー グローバル変数:

<?php
// test.php
print_r($_GET); // 输出结果:Array ( [name] => 张三 [age] => 18 [sex] => 男 )
?>
を使用する必要があります。上記のコードでは、

を使用します。 $_GET スーパー グローバル変数は URL 内のデータを取得し、print_r() 関数を使用してデータを出力します。

    POST リクエスト メソッドを使用し、リクエスト本文に配列を直接配置します。
POST リクエスト メソッドは、サーバー側のリクエスト本文にデータを転送できます。 can 配列はリクエスト本文のデータとして直接渡されます。

実装は次のとおりです:

<?php
// 创建一个数组
$data = array(&#39;name&#39;=>'张三', 'age'=>18, 'sex'=>'男');

// 初始化CURL,设置请求的URL、请求方式、请求体等参数
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://www.example.com/test.php');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// 执行请求并获取响应内容
$response = curl_exec($ch);
curl_close($ch);

echo $response;
?>
上の例では、cURL ライブラリを使用して POST リクエストを送信し、リクエスト本文に配列を直接配置しました。サーバー側では、

$_POST スーパー グローバル変数を使用して、POST リクエストによって送信されたデータを取得できます。

<?php
// test.php
print_r($_POST); // 输出结果:Array ( [name] => 张三 [age] => 18 [sex] => 男 )
?>
上記のコードでは、

$_POST スーパーグローバル変数 POSTリクエストで送信されたデータを取得し、print_r()関数を使用して出力します。

結論

URL で配列を送信することは一般的なデータ送信方法ですが、データを送信する際にはデータのサイズとセキュリティを考慮する必要があることに注意してください。実際の状況に応じて、適切なデータ送信方法を選択してデータ送信を完了できます。

以上がPHPでURLに配列を入れて送信する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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