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

Bagaimana untuk menghantar array dalam php

王林
王林asal
2023-05-19 20:29:061360semak imbas

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);

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.

  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);

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.

  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;

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!

Kenyataan:
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
Artikel sebelumnya:php json data ke arrayArtikel seterusnya:php json data ke array