>백엔드 개발 >PHP 문제 >PHP에서 배열을 전달하는 방법

PHP에서 배열을 전달하는 방법

王林
王林원래의
2023-05-19 20:29:061557검색

PHP에서는 배열을 전달하는 방법이 다양합니다. 이 기사에서는 PHP에서 배열을 전달하는 데 일반적으로 사용되는 세 가지 방법인 GET, POST 및 SESSION을 소개합니다.

  1. GET 메서드는 배열을 전달합니다.

GET 메서드는 데이터를 전달하는 가장 간단한 방법 중 하나입니다. URL 매개변수를 통해 서버에 데이터를 전달하고, 서버는 웹페이지의 데이터를 가져옵니다. 배열을 전달할 때 배열을 문자열로 변환하여 매개변수로 전달해야 합니다.

배열을 GET 매개변수로 변환하는 방법은 다음과 같습니다.

$array = array("name" => "小明", "age" => 18, "gender" => "男");
$query_str = http_build_query($array);

배열을 쿼리 문자열로 변환하려면 http_build_query() 함수를 사용하세요. 함수를 호출하면 $query_str 변수에 다음 문자열이 포함됩니다. 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 方法传递数组相对于 GET 方法更为安全,因为数据不会在 URL 中传递,而是将数据作为请求的正文传递给服务器。在传递数组时,需要将数组转换为 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()

$array = array("name" => "小明", "age" => 18, "gender" => "男");

session_start();
$_SESSION["my_array"] = $array;

이 문자열을 URL에 추가하고 GET 메서드를 사용하여 배열 데이터를 전달할 수 있습니다.
    session_start();
    $array = $_SESSION["my_array"];
  1. 서버 측에서 , $_GET 배열을 사용하여 전달된 매개변수를 가져오고 쿼리 문자열을 배열로 디코딩할 수 있습니다.
  2. rrreee
urldecode() 함수를 사용하여 전달된 문자열을 디코딩합니다. GET 방식.

    배열을 전달하는 POST 메서드

    배열을 전달하는 POST 메서드는 GET 메서드보다 안전합니다. 데이터는 URL로 전달되지 않고 다음과 같이 서버에 전달되기 때문입니다. 요청 본문. 배열을 전달할 때 json_encode() 함수를 사용하여 배열을 JSON 형식으로 변환하고 문자열로 인코딩해야 합니다.

    다음은 POST 메서드를 사용하여 배열을 전달하는 방법입니다.

    rrreee

    서버 측에서는 file_get_contents() 함수를 사용하여 POST 요청으로 전달된 데이터를 읽을 수 있습니다.

    rrreee 🎜 json_decode() 사용 함수는 문자열을 배열로 디코딩합니다. 🎜🎜🎜SESSION 메소드는 배열을 전달합니다. 🎜🎜🎜SESSION 메소드는 서버 측에 변수를 저장하는 메소드입니다. SESSION 메서드를 사용하여 배열을 전달하려면 먼저 배열을 SESSION에 저장한 후 다음 요청에서 저장된 변수를 검색해야 합니다. 🎜🎜SESSION 메서드를 사용하여 배열을 전달하는 방법은 다음과 같습니다. 🎜rrreee🎜다음 요청에서는 다음 코드를 사용하여 SESSION에 저장된 배열을 가져올 수 있습니다. 🎜rrreee🎜SESSION 메서드를 사용하여 모든 유형의 데이터를 전달할 수 있습니다. SESSION 변수는 전체 배열 객체를 저장할 수 있기 때문입니다. 🎜🎜이 문서에서는 PHP에서 배열을 전달하는 몇 가지 일반적인 방법을 소개합니다. 실제 적용에서는 특정 요구에 따라 데이터를 전송하기 위해 적절한 방법을 선택할 수 있습니다. 🎜

위 내용은 PHP에서 배열을 전달하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.