PHP: приведение переменной к нулю - PullRequest
4 голосов
/ 19 января 2011

Я только что наткнулся на новинку для меня в руководстве по PHP ...

Преобразование переменной в ноль удалит переменную и сбросит ее значение.( Source )

Теперь мне интересно, как это можно сделать ... Я пробовал (null) и (NULL), но, похоже, интерпретируется как значение null, а нетип нуль.Я знаю, что этот вопрос должен звучать смешно, но кто-нибудь знает, как привести к нулю?

Ответы [ 5 ]

7 голосов
/ 19 января 2011
$a = (unset) $a;

См. тип кастинга .

4 голосов
/ 19 января 2011

использовать (не установлено) вместо (ноль).

2 голосов
/ 19 января 2011

Согласно разделу «Типирование» на странице справочника Type Juggling , этого можно достичь с помощью ...

$varName = (unset)$varName;
1 голос
/ 19 января 2011

Этот фрагмент кода подразумевается, isset вернет false.

$test = "a";
$test = null;
var_dump( isset( $test ));

Приведение переменных в PHP выполняется путем присвоения ему определенного значения (например, $ foo = intval ($ bar) и т. Д.).Если вы поместите NULL в переменную, это будет интерпретироваться как NULL (тип NULL), isset возвращает false, если переменная имеет тип NULL

Редактировать: если вы хотите полностью сбросить переменную, используйте

unset( $test );
0 голосов
/ 02 ноября 2018

Вы можете привести переменную к нулю, как в следующем примере, но это поведение устарело в PHP 7.2 , поэтому вам не следует делать это, даже если PHP 7.1 поддерживает его.

$a = "Hello World";
$a = (unset)$a; // Deprecated in PHP 7.2
var_dump($a);   // NULL
...