Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Dapatkan Berbilang Parameter dengan Nama Yang Sama daripada URL dalam PHP?

Bagaimanakah Saya Boleh Dapatkan Berbilang Parameter dengan Nama Yang Sama daripada URL dalam PHP?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-04 16:18:11283semak imbas

How Can I Retrieve Multiple Parameters with the Same Name from a URL in PHP?

Mengambil Berbilang Parameter dengan Nama Yang Sama daripada URL dalam PHP

Apabila mengendalikan URL yang mengandungi berbilang parameter dengan nama yang sama, tingkah laku lalai PHP menggunakan $_GET hanya mengembalikan nilai terakhir yang diberikan. Untuk mengakses semua nilai bagi kunci yang diberikan, pertimbangkan pendekatan berikut:

  1. Menghuraikan Rentetan Pertanyaan: Gunakan explode untuk memisahkan rentetan pertanyaan kepada parameter individu.
$query = explode('&', $_SERVER['QUERY_STRING']);
  1. Memulakan Tatasusunan: Cipta tatasusunan untuk menyimpan parameter.
$params = array();
  1. Ekstrak Nama dan Nilai Parameter: Lelaran melalui parameter dan ekstrak nama dan nilai menggunakan letupan.
foreach ($query as $param) {
  // Handle null value with '='
  if (strpos($param, '=') === false) $param += '=';

  list($name, $value) = explode('=', $param, 2);
}
  1. Nyahkod dan Simpan dalam Tatasusunan: Nyahkod parameter yang diekstrak dan tambahkannya pada tatasusunan, mencipta tatasusunan untuk parameter dengan berbilang nilai.
  $params[urldecode($name)][] = urldecode($value);
}

Menggunakan pendekatan ini, anda boleh mengakses berbilang nilai parameter seperti berikut:

print_r($params['rft_id']);
// Array ('info:oclcnum/1903126', 'http://www.biodiversitylibrary.org/bibliography/4323')

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Dapatkan Berbilang Parameter dengan Nama Yang Sama daripada URL dalam 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