Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menghantar array dalam php
Dalam PHP, terdapat banyak cara untuk menghantar tatasusunan. Artikel ini akan memperkenalkan tiga kaedah yang biasa digunakan untuk menghantar tatasusunan dalam PHP: GET, POST dan SESSION.
Kaedah GET ialah salah satu cara paling mudah untuk menghantar data. Ia menghantar data ke pelayan melalui parameter URL, dan pelayan mendapat data dalam halaman web. Apabila menghantar tatasusunan, anda perlu menukar tatasusunan kepada rentetan dan luluskannya sebagai parameter.
Berikut ialah cara menukar tatasusunan kepada parameter GET:
$array = array("name" => "小明", "age" => 18, "gender" => "男"); $query_str = http_build_query($array);
Gunakan fungsi http_build_query()
untuk menukar tatasusunan kepada rentetan pertanyaan. Selepas memanggil fungsi, pembolehubah $query_str
akan mengandungi rentetan berikut:
name=%E5%B0%8F%E6%98%8E&age=18&gender=%E7%94%B7
Anda boleh menambahkan rentetan ini pada URL dan menghantar data tatasusunan dengan kaedah GET:
$url = "result.php?" . $query_str; header("Location: $url");
Pada sisi pelayan, anda boleh Gunakan tatasusunan $_GET
untuk mendapatkan parameter yang diluluskan dan menyahkod rentetan pertanyaan ke dalam tatasusunan:
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)); }
Gunakan fungsi urldecode()
untuk menyahkod rentetan yang melalui kaedah GET.
Kaedah POST melepasi tatasusunan yang lebih selamat daripada kaedah GET kerana data tidak akan dihantar dalam URL, tetapi sebagai data yang diminta Badan dihantar ke pelayan. Apabila menghantar tatasusunan, anda perlu menukar tatasusunan kepada format JSON dan mengekodnya menjadi rentetan menggunakan fungsi json_encode()
.
Berikut ialah cara menghantar tatasusunan menggunakan kaedah 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);
Di bahagian pelayan, anda boleh menggunakan fungsi file_get_contents()
untuk membaca data yang diluluskan oleh permintaan POST:
if(isset($_POST["data"])) { $json_str = $_POST["data"]; $array = json_decode($json_str, true); }
Gunakan json_decode()
Fungsi menyahkod rentetan ke dalam tatasusunan.
Kaedah SESSION ialah kaedah menyimpan pembolehubah pada bahagian pelayan. Melepasi tatasusunan menggunakan kaedah SESSION memerlukan terlebih dahulu menyimpan tatasusunan ke dalam SESSION dan kemudian mendapatkan semula pembolehubah yang disimpan pada permintaan seterusnya.
Berikut ialah cara untuk menghantar tatasusunan menggunakan kaedah SESI:
$array = array("name" => "小明", "age" => 18, "gender" => "男"); session_start(); $_SESSION["my_array"] = $array;
Dalam permintaan seterusnya, anda boleh menggunakan kod berikut untuk mendapatkan tatasusunan yang disimpan dalam SESI:
session_start(); $array = $_SESSION["my_array"];
Anda boleh menggunakan Kaedah SESSION lulus sebarang jenis data kerana pembolehubah SESSION boleh menyimpan keseluruhan objek tatasusunan.
Artikel ini memperkenalkan beberapa kaedah biasa untuk menghantar tatasusunan dalam PHP. Dalam aplikasi praktikal, kaedah yang sesuai boleh dipilih untuk memindahkan data mengikut keperluan khusus.
Atas ialah kandungan terperinci Bagaimana untuk menghantar array dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!