PHP에서는 배열을 전달하는 방법이 다양합니다. 이 기사에서는 PHP에서 배열을 전달하는 데 일반적으로 사용되는 세 가지 방법인 GET, POST 및 SESSION을 소개합니다.
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 方法传递的字符串。
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"];
urldecode()
함수를 사용하여 전달된 문자열을 디코딩합니다. GET 방식.
배열을 전달하는 POST 메서드는 GET 메서드보다 안전합니다. 데이터는 URL로 전달되지 않고 다음과 같이 서버에 전달되기 때문입니다. 요청 본문. 배열을 전달할 때 json_encode()
함수를 사용하여 배열을 JSON 형식으로 변환하고 문자열로 인코딩해야 합니다.
다음은 POST 메서드를 사용하여 배열을 전달하는 방법입니다.
rrreee서버 측에서는 file_get_contents()
함수를 사용하여 POST 요청으로 전달된 데이터를 읽을 수 있습니다.
json_decode()
사용 함수는 문자열을 배열로 디코딩합니다. 🎜🎜🎜SESSION 메소드는 배열을 전달합니다. 🎜🎜🎜SESSION 메소드는 서버 측에 변수를 저장하는 메소드입니다. SESSION 메서드를 사용하여 배열을 전달하려면 먼저 배열을 SESSION에 저장한 후 다음 요청에서 저장된 변수를 검색해야 합니다. 🎜🎜SESSION 메서드를 사용하여 배열을 전달하는 방법은 다음과 같습니다. 🎜rrreee🎜다음 요청에서는 다음 코드를 사용하여 SESSION에 저장된 배열을 가져올 수 있습니다. 🎜rrreee🎜SESSION 메서드를 사용하여 모든 유형의 데이터를 전달할 수 있습니다. SESSION 변수는 전체 배열 객체를 저장할 수 있기 때문입니다. 🎜🎜이 문서에서는 PHP에서 배열을 전달하는 몇 가지 일반적인 방법을 소개합니다. 실제 적용에서는 특정 요구에 따라 데이터를 전송하기 위해 적절한 방법을 선택할 수 있습니다. 🎜위 내용은 PHP에서 배열을 전달하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!