Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bolehkah Tatasusunan `$_POST` PHP Mengendalikan Berbilang Medan Borang dengan Nama Yang Sama?

Bolehkah Tatasusunan `$_POST` PHP Mengendalikan Berbilang Medan Borang dengan Nama Yang Sama?

Linda Hamilton
Linda Hamiltonasal
2024-11-24 19:48:12980semak imbas

Can PHP's `$_POST` Array Handle Multiple Form Fields with the Same Name?

Menyerahkan Medan Borang dengan Atribut Nama Pendua

Soalan:

Apabila menyerahkan borang yang mengandungi berbilang medan input teks dengan atribut nama yang sama, bolehkah semua nilai medan masih boleh diambil dari Tatasusunan $_POST dalam PHP?

Jawapan:

Tidak, hanya nilai elemen input terakhir dengan nama yang sama akan disimpan dalam tatasusunan $_POST.

Sebab:

PHP mengisi tatasusunan $_POST dengan meletupkan rentetan pertanyaan mentah ke dalam pasangan nilai nama individu. Apabila ia menemui berbilang pasangan nilai nama dengan nama yang sama, ia akan menimpa nilai sebelumnya dengan yang baharu.

Alternatif:

Untuk mengendalikan berbilang input dengan yang sama name:

  • Gunakan atribut nama dengan sintaks tatasusunan yang ditambahkan (cth., name="foo[]").
  • Akses terus rentetan pertanyaan mentah menggunakan $rawQueryString = file_get_contents('php://input').

Menghuraikan Rentetan Pertanyaan Mentah:

Jika menggunakan rentetan pertanyaan mentah, anda boleh menghuraikannya secara manual menggunakan skrip yang serupa kepada:

$post = array();
foreach (explode('&', file_get_contents('php://input')) as $keyValuePair) {
    list($key, $value) = explode('=', $keyValuePair);
    $post[$key][] = $value;
}

Atas ialah kandungan terperinci Bolehkah Tatasusunan `$_POST` PHP Mengendalikan Berbilang Medan Borang dengan Nama Yang Sama?. 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