Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah Saya Boleh Mengakses Medan Borang Berbilang dengan Nama Yang Sama dalam Tatasusunan $_POST PHP?
Apabila menghantar data borang melalui permintaan POST dalam PHP, ada kemungkinan untuk menghadapi situasi di mana berbilang elemen input berkongsi nama yang sama atribut. Ini menimbulkan persoalan:
Bolehkah anda mengakses nilai untuk semua medan dengan nama yang sama daripada tatasusunan $_POST?
Jawapannya tidak. Hanya elemen input terakhir dengan nama yang diberikan akan tersedia dalam $_POST.
Untuk mengatasi pengehadan ini, anda harus menggunakan name="foo[]" untuk atribut nama input. Ini akan menghasilkan tatasusunan dalam $_POST yang mengandungi semua nilai daripada elemen input dengan nama yang sama. Contohnya:
<form method="post"> <input name="a[]" value="foo"> <input name="a[]" value="bar"> <input name="a[]" value="baz"> <input type="submit"> </form>
Dalam kes ini, $_POST['a'] akan menjadi tatasusunan yang mengandungi nilai "foo", "bar" dan "baz".
Ia adalah penting untuk ambil perhatian bahawa menggunakan atribut nama biasa tanpa [] tidak akan membawa kepada tingkah laku yang diingini. Ini kerana PHP akan menimpa nilai sedia ada dalam $_POST apabila menemui nama berulang.
Jika anda masih perlu mengakses data borang mentah, anda boleh mengekstraknya daripada file_get_contents('php://input'). Walau bagaimanapun, anda perlu menghuraikan rentetan ini secara manual ke dalam tatasusunan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Medan Borang Berbilang dengan Nama Yang Sama dalam Tatasusunan $_POST PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!