Прямой ответ на вопрос
Вот как вы можете это сделать.Однако не самая лучшая идея.
$var = "$Site$i";
$$var = $_GET['site'.$i];
Используются переменные переменные .
Альтернатива Поддержание текущей структуры URL
В качестве альтернативы возможно что-то вроде этогоможет работать для вас:
$vars = array();
foreach($_GET as $key => $value) {
if(0 === strpos($key, 'site')) { // Only grab value if the key is prefaced by the string 'site'
// You must sanitise the value some way here eg:
// $value = filter_var($value, FILTER_SANITIZE_STRING);
$vars[] = $value;
}
}
См. страницу справки filter_var () для получения дополнительной информации о PHP-фильтрах и очистке / проверке.
Пересмотренная структура URL
Я думаю, что это, вероятно, лучше всего решить, используя массивы HTML в тот момент, когда генерируется ваш URL.Для получения дополнительной информации о массивах HTML см. Справочную страницу PHP .
Это позволит вам получить доступ к вашей информации, например:
$site1 = $_GET['site'][0];
$site2 = $_GET['site'][4];
Это наиболее логичнометод решения этой ситуации.
Обновление также см. @ ответ Мата для получения дополнительной информации по этому вопросу.