En PHP, vous pouvez utiliser des tableaux pour stocker un ensemble de données et transmettre les données à d'autres pages ou systèmes dans un certain format. Mettre le tableau dans l'URL et le transmettre est une méthode courante.
La transmission du tableau dans l'URL peut être réalisée des deux manières suivantes :
La méthode de requête GET peut ajouter des données à l'URL sous la forme de paires clé-valeur À la fin, nous pouvons sérialiser le tableau, puis transmettre la chaîne sérialisée via l'ajout d'URL.
L'implémentation est la suivante :
<?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 ?>
Dans l'exemple ci-dessus, nous utilisons la fonction http_build_query()
pour sérialiser le tableau. Cette fonction convertit un tableau en une chaîne codée en URL. En même temps, nous ajoutons la chaîne sérialisée à la fin de l'URL de la page actuelle pour générer une nouvelle URL. 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
: rrreee
Dans le code ci-dessus, nous utilisons le$_GET
variable super globale Les données de l'URL sont obtenues et les données sont imprimées à l'aide de la fonction print_r()
.
$_POST
pour obtenir les données transmises par la requête POST : 🎜rrreee🎜Dans le code ci-dessus, on utilise le $_POST
super variable globale pour obtenir Recevez les données transmises par la requête POST, et utilisez la fonction print_r()
pour imprimer les données. 🎜🎜Conclusion🎜🎜La transmission de tableaux dans des URL est une méthode courante de transmission de données, mais il convient de noter que la taille et la sécurité des données doivent être prises en compte lors de la transmission des données. Nous pouvons choisir la méthode de transmission de données appropriée pour compléter la transmission de données en fonction de la situation réelle. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!