php обратиться к элементу $_GET по номеру

Обратиться к элементу $_GET «по номеру» напрямую нельзя: это ассоциативный массив, где ключи — имена GET-параметров, а не числа. Так, при запросе ?page=2&id=15 обращение $_GET[0] даст предупреждение «Undefined array key 0».

Числовой ключ появляется, только если числовым было само имя параметра: запрос вида ?0=first&1=second создаёт «настоящие» элементы $_GET[0] и $_GET[1].

Чтобы работать с элементами по позиции, переиндексируйте массив функцией array_values():

// ?color=red&size=42
$values = array_values($_GET); // ['red', '42']
echo $values[0]; // red — значение первого параметра
echo $values[1]; // 42

Порядок элементов в $_GET совпадает с порядком параметров в строке запроса, поэтому «номер» элемента — это просто позиция параметра в URL после знака ?.

Если по номеру нужны имена параметров, возьмите массив ключей:

$keys = array_keys($_GET); // ['color', 'size']
echo $_GET[$keys[0]]; // red

Key Words for FKN + antitotal forum (CS VSU):