PHP では、複数のメソッドを使用して配列を渡すことができます。この記事では、PHP で配列を渡すためによく使用される 3 つの方法 (GET、POST、SESSION) を紹介します。
GET メソッドは、データを渡す最も簡単な方法の 1 つです。 URL パラメータを通じてデータをサーバーに渡し、サーバーは Web ページ内のデータを取得します。配列を渡すときは、配列を文字列に変換し、パラメータとして渡す必要があります。
配列を GET パラメーターに変換する方法は次のとおりです。
$array = array("name" => "小明", "age" => 18, "gender" => "男"); $query_str = http_build_query($array);
http_build_query()
関数を使用して、配列をクエリ文字列に変換します。関数を呼び出した後、$query_str
変数には次の文字列が含まれます:
name=%E5%B0%8F%E6%98%8E&age=18&gender=%E7%94%B7
この文字列を URL に追加し、GET メソッドで配列データを渡すことができます:
$url = "result.php?" . $query_str; header("Location: $url");
サーバー側では、$_GET
配列を使用して、渡されたパラメーターを取得し、クエリ文字列を配列にデコードできます。
if(isset($_GET["name"]) && isset($_GET["age"]) && isset($_GET["gender"])) { $name = $_GET["name"]; $age = $_GET["age"]; $gender = $_GET["gender"]; $array = array("name" => urldecode($name), "age" => $age, "gender" => urldecode($gender)); }
urldecode() を使用します。
GET メソッドでデコードする関数 渡された文字列。
POST メソッドは配列を渡しますが、データは URL で渡されないため、GET メソッドよりも安全です。リクエストされたデータとして使用され、ボディがサーバーに渡されます。配列を渡すときは、配列を JSON 形式に変換し、json_encode()
関数を使用して文字列にエンコードする必要があります。
POST メソッドを使用して配列を渡す方法は次のとおりです。
$array = array("name" => "小明", "age" => 18, "gender" => "男"); $post_data = array("data" => json_encode($array)); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://example.com/result.php"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); curl_close($ch);
サーバー側では、file_get_contents()
関数を使用して、渡されたデータを読み取ることができます。 POST リクエストによる場合:
if(isset($_POST["data"])) { $json_str = $_POST["data"]; $array = json_decode($json_str, true); }
json_decode()
関数を使用して、文字列を配列にデコードします。
SESSIONメソッドはサーバー側に変数を格納するメソッドです。 SESSION メソッドを使用して配列を渡すには、まず配列を SESSION に保存し、次に次のリクエストで保存された変数を取得する必要があります。
SESSION メソッドを使用して配列を渡す方法は次のとおりです:
$array = array("name" => "小明", "age" => 18, "gender" => "男"); session_start(); $_SESSION["my_array"] = $array;
次のリクエストでは、次のコードを使用して SESSION に保存されている配列を取得できます:
session_start(); $array = $_SESSION["my_array"];
SESSION 変数は配列オブジェクト全体を格納できるため、SESSION メソッドを使用して任意のタイプのデータを渡すことができます。
この記事では、PHP で配列を渡す一般的な方法をいくつか紹介します。実際のアプリケーションでは、特定のニーズに応じて適切な方法を選択してデータを転送できます。
以上がPHPで配列を渡す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。