Суперглобальные переменные являются встроенными переменными, которые всегда доступны во всех областях.
* В частности, 1008 *
и $_GET
:
Ассоциативный массив переменных, передаваемых в текущий скрипт через параметры URL (он же строка запроса).
Вы можете проверить, установлен ли параметр $_GET
, и установить переменную, равную ее значению , за один шаг, используя оператор объединения нулей :
$var = $_GET['some_parameter'] ?? null
В этом случае $var
равно значению $_GET['some_parameter']
, если оно существует, или ноль в противном случае.
~~~~~ EDIT ~~~~~
Как указано в комментариях, этот оператор доступен только в php 7.2.0 и далее. Чтобы добиться того же в версиях <7.2, используйте троичный оператор <a href="https://www.php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary" rel="nofollow noreferrer"> :
$var= isset($_GET['some_parameter']) ? $_GET['some_parameter'] : null;
~~~~~~~~~~~~~~~
В вашем коде, где вы проверяете if($allVariables == '1'){//do this}
, если вы на самом деле пытаетесь проверить количество параметров, переданных через URL, вы должны использовать функцию count()
.
if (count($_GET) == 1) {
// do this
} else if (count($_GET) == 2) {
// do this instead
}
... но это будет ограниченное использование, поскольку оно ничего не говорит о , которым были переданы параметры.