>백엔드 개발 >PHP 문제 >URL에 배열을 넣어서 PHP로 전송하는 방법

URL에 배열을 넣어서 PHP로 전송하는 방법

PHPz
PHPz원래의
2023-04-26 09:21:541306검색

PHP에서는 배열을 사용하여 데이터 세트를 저장하고 해당 데이터를 특정 형식으로 다른 페이지나 시스템에 전달할 수 있습니다. URL에 배열을 넣어서 전송하는 것이 일반적인 방법입니다.

URL의 배열 전송은 다음 두 가지 방법으로 수행할 수 있습니다.

  1. GET 요청 메서드를 사용하고 배열을 직렬화합니다.

GET 요청 메서드는 키-값 쌍 형식으로 URL에 데이터를 추가할 수 있습니다. 마지막으로 배열을 직렬화한 다음 URL 추가를 통해 직렬화된 문자열을 전달할 수 있습니다.

구현은 다음과 같습니다.

<?php
// 将数组进行序列化,结果是一个字符串
$data = array(&#39;name&#39;=>'张三', 'age'=>18, 'sex'=>'男');
$queryString = http_build_query($data);

// 假设当前页面的url是http://www.example.com/test.php,将序列化后的字符串追加在url的末尾即可
$url = 'http://www.example.com/test.php?' . $queryString;
echo $url; // 输出结果:http://www.example.com/test.php?name=%E5%BC%A0%E4%B8%89&age=18&sex=%E7%94%B7
?>

위의 예에서는 http_build_query() 함수를 사용하여 배열을 직렬화합니다. 이 함수는 배열을 URL 인코딩된 문자열로 변환합니다. 동시에 현재 페이지의 URL 끝에 직렬화된 문자열을 추가하여 새 URL을 생성합니다. http_build_query()函数将数组进行序列化。这个函数可以将数组转换成经过URL编码的字符串。同时,我们将序列化后的字符串追加在当前页面的URL末尾,从而生成新的URL。

在接收端获取URL中的数据时,我们需要使用$_GET超全局变量:

<?php
// test.php
print_r($_GET); // 输出结果:Array ( [name] => 张三 [age] => 18 [sex] => 男 )
?>

上述代码中,我们使用了$_GET超全局变量获取了URL中的数据,并且使用print_r()函数将数据打印输出。

  1. 使用POST请求方式,并且将数组直接放在请求体中

POST请求方式可以将数据传输到服务器端的请求体中,而我们可以将数组作为请求体中的数据直接传递。

实现方式如下:

<?php
// 创建一个数组
$data = array(&#39;name&#39;=>'张三', 'age'=>18, 'sex'=>'男');

// 初始化CURL,设置请求的URL、请求方式、请求体等参数
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://www.example.com/test.php');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// 执行请求并获取响应内容
$response = curl_exec($ch);
curl_close($ch);

echo $response;
?>

在上述示例中,我们使用了cURL库来发送POST请求,并且直接将数组放在了请求体中。在服务器端,我们可以使用$_POST超全局变量来获取POST请求传输的数据:

<?php
// test.php
print_r($_POST); // 输出结果:Array ( [name] => 张三 [age] => 18 [sex] => 男 )
?>

上述代码中,我们使用了$_POST超全局变量获取了POST请求传输的数据,并且使用print_r()

수신측에서 URL의 데이터를 얻으려면 $_GET 슈퍼 전역 변수를 사용해야 합니다.

rrreee

위 코드에서는 $_GET를 사용합니다. > 슈퍼 전역 변수 URL의 데이터를 가져오고 print_r() 함수를 사용하여 데이터를 인쇄합니다.

    POST 요청 방식을 사용하고 요청 본문에 직접 배열을 넣습니다.🎜🎜🎜POST 요청 방식은 서버측에서 요청 본문으로 데이터를 전송할 수 있으며 배열을 요청으로 사용할 수 있습니다. body 데이터가 직접 전달됩니다. 🎜🎜구현은 다음과 같습니다. 🎜rrreee🎜위 예에서는 cURL 라이브러리를 사용하여 POST 요청을 보내고 요청 본문에 배열을 직접 배치했습니다. 서버 측에서는 $_POST 슈퍼 전역 변수를 사용하여 POST 요청으로 전송된 데이터를 얻을 수 있습니다. 🎜rrreee🎜위 코드에서는 $_POST를 사용합니다. > 슈퍼 전역 변수는 POST 요청으로 전송된 데이터를 받고, print_r() 함수를 사용하여 데이터를 인쇄합니다. 🎜🎜결론🎜🎜URL에서 배열을 전송하는 것은 데이터 전송의 일반적인 방법이지만, 데이터를 전송할 때 데이터의 크기와 보안을 고려해야 한다는 점에 유의해야 합니다. 실제 상황에 따라 데이터 전송을 완료하기 위해 적절한 데이터 전송 방법을 선택할 수 있습니다. 🎜

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

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