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.
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);
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
可以将这个字符串追加到 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
verwenden, um die übergebenen Parameter abzurufen und die Abfragezeichenfolge in ein Array zu dekodieren: 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 Funktionjson_encode()
in einen String kodieren. So übergeben Sie ein Array mit der POST-Methode: rrreee
Auf der Serverseite können Sie die Funktionfile_get_contents()
verwenden um die von der POST-Anfrage übergebenen Daten zu lesen. Daten: rrreee
Verwenden Sie die Funktionjson_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!