Comment passer un tableau en php

王林
Libérer: 2023-05-19 20:29:06
original
1321 Les gens l'ont consulté

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.

  1. La méthode GET transmet un tableau

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);
Copier après la connexion

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
Copier après la connexion

可以将这个字符串追加到 URL 后,以 GET 方法传递数组数据:

$url = "result.php?" . $query_str;
header("Location: $url");
Copier après la connexion

在服务器端,可以使用 $_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));
}
Copier après la connexion

使用 urldecode() 函数解码通过 GET 方法传递的字符串。

  1. POST 方法传数组

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);
Copier après la connexion

在服务器端,可以使用 file_get_contents() 函数读取 POST 请求传递的数据:

if(isset($_POST["data"])) {
    $json_str = $_POST["data"];
    $array = json_decode($json_str, true);
}
Copier après la connexion

使用 json_decode()

$array = array("name" => "小明", "age" => 18, "gender" => "男");

session_start();
$_SESSION["my_array"] = $array;
Copier après la connexion

Vous pouvez ajouter cette chaîne à l'URL et transmettre les données du tableau avec la méthode GET : # 🎜🎜#
session_start();
$array = $_SESSION["my_array"];
Copier après la connexion
    Côté serveur, vous pouvez utiliser le tableau $_GET pour récupérer les paramètres passés et décoder la chaîne de requête dans un tableau :
  1. rrreee
  2. Utilisez 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 fonction json_encode().

    Voici comment passer un tableau en utilisant la méthode POST :

    rrreee

    Côté serveur, vous pouvez utiliser la fonction file_get_contents() pour lire les données transmises par la requête POST Data :

    rrreee

    Utilisez la fonction json_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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal