Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menghantar array dalam php

Bagaimana untuk menghantar array dalam php

王林
Lepaskan: 2023-05-19 20:29:06
asal
1358 orang telah melayarinya

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.

  1. Kaedah GET melepasi tatasusunan

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);
Salin selepas log masuk

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
Salin selepas log masuk

Anda boleh menambahkan rentetan ini pada URL dan menghantar data tatasusunan dengan kaedah GET:

$url = "result.php?" . $query_str;
header("Location: $url");
Salin selepas log masuk

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));
}
Salin selepas log masuk

Gunakan fungsi urldecode() untuk menyahkod rentetan yang melalui kaedah GET.

  1. Kaedah POST melepasi tatasusunan

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);
Salin selepas log masuk

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);
}
Salin selepas log masuk

Gunakan json_decode() Fungsi menyahkod rentetan ke dalam tatasusunan.

  1. Kaedah SESSION melepasi 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;
Salin selepas log masuk

Dalam permintaan seterusnya, anda boleh menggunakan kod berikut untuk mendapatkan tatasusunan yang disimpan dalam SESI:

session_start();
$array = $_SESSION["my_array"];
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan