Неа. Они не одно и то же.
Первый вернет пустую строку, если параметр value
GET не установлен, или вернет параметр, если он установлен.
Вторая вернет false, если параметр не установлен.
То есть вы меняете исходный массив $_GET
, что не очень хорошая идея.
Альтернативный синтаксис - оператор слияния null (??
), который превратит ваш код в следующее:
$variable = $_GET['value'] ?? ''; //or false, if you want to stick with the boolean.
Оператор ??
в основном запускает isset()
в левом выражении и возвращает первое вхождение истинного выражения.
Если вам нужно проверить пустую строку, вы должны использовать empty
вместо isset
.