Mengakses Nilai Tatasusunan dalam Pembolehubah $_GET
Tatasusunan superglobal $_GET dalam PHP biasanya digunakan untuk mendapatkan semula parameter rentetan pertanyaan daripada URL. Walaupun lazimnya dijangka setiap parameter mempunyai nilai tunggal, adalah mungkin untuk mempunyai berbilang nilai untuk parameter yang sama.
Dalam kes anda, apabila anda menghantar permintaan dengan berbilang nilai untuk parameter "id" ( cth., "http://link/foo.php?id=1&id=2&id=3"), tingkah laku lalai adalah untuk $_GET['id'] hanya mengembalikan nilai terakhir, iaitu 3.
Penyelesaian
Untuk mengakses berbilang nilai bagi parameter yang sama dalam $_GET, anda perlu menggunakan tatatanda tatasusunan. Daripada hanya menggunakan $_GET['id'], anda harus menggunakan $_GET['id[]'] dalam kod PHP anda.
Sebagai contoh, pertimbangkan URL berikut:
http://link/foo.php?id[]=1&id[]=2&id[]=3
Jika anda menggunakan $_GET['id'] untuk mengakses parameter "id", anda masih akan mendapat hanya nilai terakhir (3). Walau bagaimanapun, jika anda menggunakan $_GET['id[]'], anda akan mendapat tatasusunan yang mengandungi semua nilai: [1, 2, 3].
Contoh
<code class="php"><?php if (isset($_GET['id[]'])) { $ids = $_GET['id[]']; foreach ($ids as $id) { // Do something with each id } } ?></code>
Kod ini akan melingkari setiap nilai dalam tatasusunan "id[]" dan melaksanakan operasi yang diingini.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Berbilang Nilai untuk Parameter yang Sama dalam $_GET dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!