Ответ
Да, имена параметров из GET-запроса хранятся в виде ключей суперглобального массива $_GET. Чтобы получить массив, содержащий только имена параметров (ключи), используйте функцию array_keys().
$parameterNames = array_keys($_GET);
Если вам нужна полная копия массива GET-параметров (и ключи, и значения), можно просто присвоить его новой переменной.
$allGetParameters = $_GET;
Пример:
// Предположим, запрос: /script.php?name=John&age=25&city=London
$paramNames = array_keys($_GET);
print_r($paramNames);
// Вывод: Array ( [0] => name [1] => age [2] => city )
Важно: Данные в $_GET поступают напрямую от пользователя и ненадежны. Всегда выполняйте их фильтрацию и валидацию перед использованием в логике приложения, например, с помощью filter_input() или вручную.
Ответ 18+ 🔞
Эй, народ, слушайте сюда, я тут про PHP расскажу, а то некоторые до сих пор с GET-параметрами как с огнём играют. Ёпта, ну реально, волнение ебать, когда видишь, как кто-то $_GET['user_id'] прямо в SQL-запрос суёт. Чистая смерть, ядрёна вошь!
Короче, смотри. Все эти вопросики в адресной строке после знака вопроса — ?name=Ivan&action=delete — это они и есть. И PHP их аккуратненько складывает для тебя в массив $_GET. Хуй с горы, всё просто.
Допустим, тебе надо не значения вытащить, а только сами названия этих параметров, ключи, то есть. Ну, типа, список: name, action. Зачем? Ну, может, логируешь, что прилетело, или проверяешь, не подсунули ли тебе какую-нибудь пиздопроебибну вроде ?admin=1.
Так вот, чтобы получить только имена, есть функция array_keys(). Берёт массив и возвращает тебе все его ключи. Элементарно, Ватсон!
$parameterNames = array_keys($_GET);
Всё, приехали. В $parameterNames теперь массив с одними названиями.
А если тебе, наоборот, нужна полная копия всего, что пришло, и ключи, и значения — ну, чтобы оригинал $_GET не трогать, — то просто скопируй его, как есть:
$allGetParameters = $_GET;
Пример, чтобы совсем понятно было:
Допустим, кто-то стучится на твой скрипт вот так: /script.php?name=John&age=25&city=London.
$paramNames = array_keys($_GET);
print_r($paramNames);
// Выведет: Array ( [0] => name [1] => age [2] => city )
Видишь? name, age, city. Никаких значений, только заголовки, так сказать.
А теперь слушай самое главное, блядь! Это не просто совет, это закон. Данные в $_GET (да и в $_POST, кстати) — это прямые послания от пользователей. А пользователи — народ творческий, хитрая жопа у каждого. Могут и SQL-инъекцию впихнуть, и XSS-скрипт, и просто хуйню какую-нибудь.
Поэтому доверия ебать ноль. Прежде чем что-то с этими данными делать — валидируй и фильтруй их. В PHP для этого есть, например, filter_input() — штука полезная. Или хотя бы вручную проверяй, что пришло. Не корми ими базу данных и не выводи на страницу, предварительно не обезвредив.
Запомни: работа с пользовательским вводом без проверки — это вы ходите по охуенно тонкому льду. Однажды провалитесь, и будет вам не Хиросима, а настоящий пиздец. Всё, лекция окончена.