Heim > Backend-Entwicklung > PHP-Problem > So übergeben Sie ein Array in PHP

So übergeben Sie ein Array in PHP

王林
Freigeben: 2023-05-19 20:29:06
Original
1357 Leute haben es durchsucht

In PHP gibt es viele Möglichkeiten, Arrays zu übergeben. In diesem Artikel werden drei häufig verwendete Methoden zum Übergeben von Arrays in PHP vorgestellt: GET, POST und SESSION.

  1. GET-Methode übergibt Array

Die GET-Methode ist eine der einfachsten Möglichkeiten, Daten zu übergeben. Die Daten werden über URL-Parameter an den Server weitergeleitet, und der Server ruft die Daten auf der Webseite ab. Wenn Sie ein Array übergeben, müssen Sie das Array in eine Zeichenfolge konvertieren und als Parameter übergeben.

So konvertieren Sie ein Array in einen GET-Parameter:

$array = array("name" => "小明", "age" => 18, "gender" => "男");
$query_str = http_build_query($array);
Nach dem Login kopieren

Verwenden Sie die Funktion http_build_query(), um ein Array in eine Abfragezeichenfolge umzuwandeln. Nach dem Aufruf der Funktion enthält die Variable $query_str die folgende Zeichenfolge: http_build_query() 函数将数组转换为查询字符串。调用函数后,$query_str 变量将包含以下字符串:

name=%E5%B0%8F%E6%98%8E&age=18&gender=%E7%94%B7
Nach dem Login kopieren

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

$url = "result.php?" . $query_str;
header("Location: $url");
Nach dem Login kopieren

在服务器端,可以使用 $_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));
}
Nach dem Login kopieren

使用 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);
Nach dem Login kopieren

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

if(isset($_POST["data"])) {
    $json_str = $_POST["data"];
    $array = json_decode($json_str, true);
}
Nach dem Login kopieren

使用 json_decode()

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

session_start();
$_SESSION["my_array"] = $array;
Nach dem Login kopieren

Sie können diese Zeichenfolge an die URL anhängen und die Array-Daten mit der GET-Methode übergeben: # 🎜🎜#
session_start();
$array = $_SESSION["my_array"];
Nach dem Login kopieren
    Auf der Serverseite können Sie das Array $_GET verwenden, um die übergebenen Parameter abzurufen und die Abfragezeichenfolge in ein Array zu dekodieren:
  1. rrreee
  2. Verwenden Sie die Funktion urldecode() , um die durch die GET-Methode übergebene Zeichenfolge zu dekodieren.

    POST-Methode übergibt Array

    POST-Methode übergibt Array sicherer als GET-Methode, da die Daten nicht in der URL enthalten sind Stattdessen werden die Daten als Hauptteil der Anfrage an den Server übergeben. Wenn Sie ein Array übergeben, müssen Sie das Array in das JSON-Format konvertieren und es mithilfe der Funktion json_encode() in einen String kodieren.

    So übergeben Sie ein Array mit der POST-Methode:

    rrreee

    Auf der Serverseite können Sie die Funktion file_get_contents() verwenden um die von der POST-Anfrage übergebenen Daten zu lesen. Daten:

    rrreee

    Verwenden Sie die Funktion json_decode(), um die Zeichenfolge in ein Array zu dekodieren. #🎜🎜##🎜🎜##🎜🎜#SESSION-Methode übergibt Array #🎜🎜##🎜🎜##🎜🎜#SESSION-Methode ist eine Möglichkeit, Variablen auf der Serverseite zu speichern. Die Übergabe eines Arrays mit der SESSION-Methode erfordert zunächst das Speichern des Arrays in der SESSION und das anschließende Abrufen der gespeicherten Variablen bei der nächsten Anfrage. #🎜🎜##🎜🎜#So übergeben Sie ein Array mit der SESSION-Methode: #🎜🎜#rrreee#🎜🎜#In der nächsten Anfrage können Sie den folgenden Code verwenden, um das in SESSION gespeicherte Array abzurufen: # 🎜🎜#rrreee# 🎜🎜#Sie können die SESSION-Methode verwenden, um jede Art von Daten zu übergeben, da die SESSION-Variable das gesamte Array-Objekt speichern kann. #🎜🎜##🎜🎜#In diesem Artikel werden mehrere gängige Methoden zum Übergeben von Arrays in PHP vorgestellt. In praktischen Anwendungen kann die geeignete Methode zur Datenübertragung entsprechend den spezifischen Anforderungen ausgewählt werden. #🎜🎜#

Das obige ist der detaillierte Inhalt vonSo übergeben Sie ein Array 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