Ответ 1
Используйте unset($var);
Я могу использовать isset($var)
, чтобы проверить, не указана ли переменная или null. (например, проверка, была ли задана переменная сеанса раньше)
Но после установки переменной, как мне reset по умолчанию, чтобы isset($var)
возвращал false
?
Используйте unset($var);
Как сказал nacmartin, unset
будет "неопределять" переменную. Вы также можете установить переменную в нуль, однако это то, как два подхода различаются:
$x = 3; $y = 4;
isset($x); // true;
isset($y); // true;
$x = null;
unset($y);
isset($x); // false
isset($y); // false
echo $x; // null
echo $y; // PHP Notice (y not defined)
Дальнейшее объяснение:
В то время как переменная может быть нулевой или не нулевой, можно также указать, что переменная задана или не установлена.
чтобы установить переменную в нуль, вы просто
$var = null;
Это сделает $var
null, эквивалентным false
, 0
и так далее. Вы все равно сможете получить переменную от $GLOBALS['var']
, поскольку она все еще определена/установлена. Однако, чтобы удалить переменную из глобального и/или локального пространства имен, вы используете
unset($var);
Это сделает $var
вообще не установленным. Вы не сможете найти его в $GLOBALS
.
Кроме того, вы можете установить переменную в null
:
<?php
$v= 'string';
var_dump(isset($v));
$v= null;
var_dump(isset($v));
?>