Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah Saya Boleh Mengakses Medan Borang Berbilang dengan Nama Yang Sama dalam Tatasusunan $_POST PHP?

Bagaimanakah Saya Boleh Mengakses Medan Borang Berbilang dengan Nama Yang Sama dalam Tatasusunan $_POST PHP?

DDD
DDDasal
2024-11-26 22:39:18725semak imbas

How Can I Access Multiple Form Fields with the Same Name in PHP's $_POST Array?

Menyiarkan Medan Borang dengan Atribut Nama Pendua

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!

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