Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mendapatkan Berbilang Parameter dengan Nama Yang Sama daripada URL dalam PHP?
Dalam aplikasi web, URL selalunya mengandungi berbilang parameter untuk menghantar maklumat kepada skrip PHP. Walau bagaimanapun, fungsi $_GET PHP biasanya hanya mengembalikan nilai terakhir untuk parameter tertentu. Ini boleh menjadi masalah apabila berbilang parameter dengan nama yang sama terdapat dalam URL.
Pertimbangkan contoh URL ini:
http://example.com/index.php?param1=value1¶m2=value2¶m1=value3
Dalam kes ini, $_GET['param1'] akan kembali "value3," menggantikan nilai sebelumnya ("value1").
Untuk mengendalikan isu ini, coretan kod berikut boleh digunakan:
$query = explode('&', $_SERVER['QUERY_STRING']); $params = array(); foreach ($query as $param) { // To prevent errors, ensure each element has an equals sign. if (strpos($param, '=') === false) { $param .= '='; } list($name, $value) = explode('=', $param, 2); $params[urldecode($name)][] = urldecode($value); }
Kod ini akan mencipta tatasusunan bersekutu di mana setiap kunci sepadan dengan nama parameter dan setiap nilai ialah tatasusunan yang mengandungi semua nilai yang dikaitkan dengan parameter tersebut. Untuk contoh URL di atas, tatasusunan $params yang terhasil ialah:
array( 'param1' => array('value1', 'value3'), 'param2' => array('value2') )
Dengan menggunakan kaedah ini, anda boleh mengakses dengan mudah semua nilai yang dikaitkan dengan setiap parameter daripada URL, tidak kira sama ada parameter berlaku beberapa kali .
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Berbilang Parameter dengan Nama Yang Sama daripada URL dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!