Mendapatkan Nilai Medan Borang dengan Nama Pendua dalam $_POST
Apabila menyiarkan borang dengan berbilang elemen input berkongsi atribut nama yang sama, gelagat tertentu timbul yang menjejaskan kebolehcapaian nilai mereka dalam $_POST PHP tatasusunan.
Gelagat PHP
Biasanya, hanya nilai yang dikaitkan dengan elemen input terakhir dengan nama yang sama boleh diakses dalam $_POST. Ini berlaku kerana PHP melelang ke atas rentetan pertanyaan mentah dan menimpa mana-mana pasangan nilai kunci sedia ada dengan nama pendua.
Penyelesaian: Menggunakan Kurungan Square
Untuk membenarkan berbilang elemen input dengan nama yang sama untuk menyimpan nilainya dengan betul dalam $_POST, gunakan atribut name="foo[]" bukannya name="foo". Pendekatan ini menghasilkan $_POST mengandungi tatasusunan bernama "foo" di mana setiap elemen menyimpan nilai daripada elemen input masing-masing.
Mengakses Rentetan Pertanyaan Mentah
Jika mengakses individu nilai untuk medan dengan nama yang sama adalah penting, anda boleh mendapatkan semula rentetan pertanyaan mentah menggunakan file_get_contents('php://input'). Proses ini membolehkan anda menghuraikan nilai individu secara manual.
Keterbatasan dan Kelebihan
Semasa mengakses rentetan pertanyaan mentah mungkin kelihatan seperti penyelesaian, ia disertakan dengan pengehadannya. Populasi automatik PHP $_POST menyediakan kemudahan dan pencegahan ralat berbanding penghuraian manual. Walau bagaimanapun, menggunakan file_get_contents('php://input') menawarkan kawalan dan fleksibiliti yang lebih besar, terutamanya apabila berurusan dengan struktur bentuk yang lebih kompleks.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Nilai Medan Borang dengan Nama Duplikat dalam Tatasusunan $_POST PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!