En PHP, il existe de nombreuses façons de transmettre des tableaux. Cet article présentera trois méthodes couramment utilisées pour transmettre des tableaux en PHP : GET, POST et SESSION.
La méthode GET est l'un des moyens les plus simples de transmettre des données. Il transmet les données au serveur via les paramètres d'URL et le serveur récupère les données dans la page Web. Lorsque vous transmettez un tableau, vous devez convertir le tableau en chaîne et le transmettre en tant que paramètre.
Voici comment convertir un tableau en paramètre GET :
$array = array("name" => "小明", "age" => 18, "gender" => "男"); $query_str = http_build_query($array);
Utilisez la fonction http_build_query()
pour convertir un tableau en chaîne de requête. Après avoir appelé la fonction, la variable $query_str
contiendra la chaîne suivante : 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;
session_start(); $array = $_SESSION["my_array"];
$_GET
pour récupérer les paramètres passés et décoder la chaîne de requête dans un tableau : urldecode()
La fonction décode la chaîne passée via la méthode GET. La méthode POST transmet le tableau
La méthode POST transmet le tableau de manière plus sûre que la méthode GET car les données ne seront pas dans l'URL Au lieu de cela, les données sont transmises au serveur en tant que corps de la requête. Lors du passage d'un tableau, vous devez convertir le tableau au format JSON et l'encoder en chaîne à l'aide de la fonctionjson_encode()
. Voici comment passer un tableau en utilisant la méthode POST : rrreee
Côté serveur, vous pouvez utiliser la fonctionfile_get_contents()
pour lire les données transmises par la requête POST Data : rrreee
Utilisez la fonctionjson_decode()
pour décoder la chaîne dans un tableau. #🎜🎜##🎜🎜##🎜🎜#La méthode SESSION transmet le tableau #🎜🎜##🎜🎜##🎜🎜#La méthode SESSION est un moyen de stocker des variables côté serveur. Passer un tableau à l'aide de la méthode SESSION nécessite d'abord de stocker le tableau dans la SESSION, puis de récupérer la variable stockée lors de la requête suivante. #🎜🎜##🎜🎜#Voici comment transmettre un tableau à l'aide de la méthode SESSION : #🎜🎜#rrreee#🎜🎜#Dans la requête suivante, vous pouvez utiliser le code suivant pour obtenir le tableau stocké dans SESSION : # 🎜🎜#rrreee# 🎜🎜#Vous pouvez utiliser la méthode SESSION pour transmettre n'importe quel type de données, car la variable SESSION peut stocker l'intégralité de l'objet tableau. #🎜🎜##🎜🎜#Cet article présente plusieurs méthodes courantes de transmission de tableaux en PHP. Dans les applications pratiques, la méthode appropriée peut être sélectionnée pour transférer des données en fonction de besoins spécifiques. #🎜🎜#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!