PHPで配列を渡す方法

王林
王林オリジナル
2023-05-19 20:29:061360ブラウズ

PHP では、複数のメソッドを使用して配列を渡すことができます。この記事では、PHP で配列を渡すためによく使用される 3 つの方法 (GET、POST、SESSION) を紹介します。

  1. GET メソッドで配列を渡す

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 メソッドでデコードする関数 渡された文字列。

  1. POST メソッドは配列を渡します

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() 関数を使用して、文字列を配列にデコードします。

  1. SESSIONメソッドは配列を渡す

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 サイトの他の関連記事を参照してください。

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