PHPでは、通常、投稿方法は文字列データを渡すために使用されますが、配列を直接渡すことはできません。ただし、配列をJSON文字列に変換し、処理のためにバックエンドに渡す方法を使用できます。
これは、POSTリクエストで配列データを渡す方法を示す例を示します。
フロントエンドでは、最初に配列をJSON形式に変換し、次にPOSTメソッドを介して処理するためにデータをバックエンドに送信します。
// フロントエンドコード
var data = {
"name": "Alice",
"age": 25,
"interests": ["Reading", "Traveling", "Photography"]
};
var json_data = JSON.stringify(data);
var xhr = new XMLHttpRequest();
xhr.open("POST", "process_data.php", true);
xhr.setRequestHeader("Content-Type", "application/json");
xhr.send(json_data);
バックエンドでは、JSON形式のデータを受信し、 json_decode()関数を使用して配列に変換します。
<?php
// 引き継ぐJSONフォーマットデータ
$json_data = file_get_contents('php://input');
// 意思JSONフォーマットデータを配列に変換します
$data = json_decode($json_data, true);
// 配列データの処理
$name = $data["name"];
$age = $data["age"];
$interests = $data["interests"];
// 出力データ
echo "Name: " . $name . "<br>";
echo "Age: " . $age . "<br>";
echo "Interests: ";
foreach($interests as $interest) {
echo $interest . ", ";
}
?>
上記の例を介して、POSTメソッド自体は配列を直接渡すことはできませんが、配列をJSON文字列に変換することにより、配列データを処理のためにバックエンドに簡単に渡すことができることがわかります。 JSONデータを解析することにより、バックエンドは配列内の情報を抽出して使用できます。
一般に、PHPでは、POSTメソッドは配列を直接渡すことはできませんが、JSON形式を通過することはソリューションの1つです。