Heim > Artikel > Backend-Entwicklung > So fügen Sie ein Array in eine URL ein und übertragen es in PHP
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:
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('name'=>'张三', '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 ?>
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] => 男 ) ?>
上述代码中,我们使用了$_GET
超全局变量获取了URL中的数据,并且使用print_r()
函数将数据打印输出。
POST请求方式可以将数据传输到服务器端的请求体中,而我们可以将数组作为请求体中的数据直接传递。
实现方式如下:
<?php // 创建一个数组 $data = array('name'=>'张三', '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()
$_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.
$_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!