Heim > Backend-Entwicklung > PHP-Problem > So fügen Sie ein Array in eine URL ein und übertragen es in PHP

So fügen Sie ein Array in eine URL ein und übertragen es in PHP

PHPz
Freigeben: 2023-04-26 09:23:02
Original
1292 Leute haben es durchsucht

In PHP können Sie Arrays verwenden, um einen Datensatz zu speichern und die Daten in einem bestimmten Format an andere Seiten oder Systeme weiterzugeben. Eine gängige Methode ist es, das Array in die URL einzufügen und zu übertragen.

Die Übertragung des Arrays in der URL kann auf zwei Arten erreicht werden:

  1. Verwenden Sie die GET-Anfragemethode und serialisieren Sie das Array

Die GET-Anfragemethode kann Daten in Form von Schlüssel-Wert-Paaren an die URL anhängen Am Ende können wir das Array serialisieren und dann die serialisierte Zeichenfolge per URL-Anhang übergeben.

Die Implementierung ist wie folgt:

<?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
?>
Nach dem Login kopieren

Im obigen Beispiel verwenden wir die Funktion http_build_query(), um das Array zu serialisieren. Diese Funktion wandelt ein Array in eine URL-codierte Zeichenfolge um. Gleichzeitig hängen wir die serialisierte Zeichenfolge an das Ende der URL der aktuellen Seite an, um eine neue URL zu generieren. http_build_query()函数将数组进行序列化。这个函数可以将数组转换成经过URL编码的字符串。同时,我们将序列化后的字符串追加在当前页面的URL末尾,从而生成新的URL。

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

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

上述代码中,我们使用了$_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;
?>
Nach dem Login kopieren

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

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

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

Wenn der Empfänger die Daten in der URL erhält, müssen wir die superglobale Variable $_GET verwenden:

rrreee

Im obigen Code verwenden wir den $_GET superglobale Variable Die Daten in der URL werden mit der Funktion print_r() abgerufen und ausgedruckt.

    Verwenden Sie die POST-Anfragemethode und fügen Sie das Array direkt in den Anfragetext ein. 🎜🎜🎜Die POST-Anfragemethode kann Daten an den Anfragetext auf der Serverseite übertragen, und wir können das Array als Anfrage verwenden body Die Daten werden direkt übergeben. 🎜🎜Die Implementierung ist wie folgt: 🎜rrreee🎜Im obigen Beispiel haben wir die cURL-Bibliothek zum Senden der POST-Anfrage verwendet und das Array direkt im Anfragetext platziert. Auf der Serverseite können wir die superglobale Variable $_POST verwenden, um die von der POST-Anfrage übertragenen Daten zu erhalten: 🎜rrreee🎜Im obigen Code verwenden wir den $_POST Superglobale Variable zum Abrufen Empfangen Sie die von der POST-Anfrage übertragenen Daten und verwenden Sie die Funktion print_r(), um die Daten auszudrucken. 🎜🎜Fazit🎜🎜Das Übertragen von Arrays in URLs ist eine gängige Methode der Datenübertragung, es ist jedoch zu beachten, dass bei der Datenübertragung die Größe und Sicherheit der Daten berücksichtigt werden muss. Wir können die geeignete Datenübertragungsmethode auswählen, um die Datenübertragung entsprechend der tatsächlichen Situation abzuschließen. 🎜

Das obige ist der detaillierte Inhalt vonSo fügen Sie ein Array in eine URL ein und übertragen es in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage