Javascript 为什么重新初始化变量-PHP后prevoius值仍然存在
我遇到了一个教程,当我们重新初始化一个有值的变量时,该变量仍然有以前的值,而不是删除该值 我希望第三个变量转储为Javascript 为什么重新初始化变量-PHP后prevoius值仍然存在,javascript,php,Javascript,Php,我遇到了一个教程,当我们重新初始化一个有值的变量时,该变量仍然有以前的值,而不是删除该值 我希望第三个变量转储为NULL,但它会打印volvo。 这不是在代码中造成混乱吗 $carName; var_dump($carName); $carName = "Volvo"; var_dump($carName); $carName; var_dump($carName); NULL string(5) "Volvo" string(5) "Volvo" 我还看到javascript具有
NULL
,但它会打印volvo
。
这不是在代码中造成混乱吗
$carName;
var_dump($carName);
$carName = "Volvo";
var_dump($carName);
$carName;
var_dump($carName);
NULL
string(5) "Volvo"
string(5) "Volvo"
我还看到javascript
具有相同的行为
这是语言的一个好特征还是一个坏特征根据我的想法,这不好,请解释。提前谢谢 写作:
$carName;
不初始化变量。它读取变量,但不对读取的值执行任何操作
您需要为其分配null
:
$carName = null;
$carname代码>实际上什么都不做。它既不为任何操作使用变量,也不为其赋值。在PHP中,通过给变量赋值来“初始化”变量。如果有的话,$carname
与echo$carname相同
没有回声,它只是一个声音。事实上,第一行也没有任何作用,第一个var_dump
触发未定义变量carname
注意。PHP的最新实现完全忽略$carname代码>行
$data;
echo $data;
操作码
line # * op fetch ext return operands
-----------------------------------------------------------------------
4 0 > ECHO !0
1 > RETURN 1
其他实现将此行视为读取操作,并引发未定义变量
注意
如果需要将$carName设置为null,则应将其设置为null:
$carName = null;
$carName;独自一人并不重要。嗨,但在第一个$carName;它使用$carName=NULL打印NULL而不打印out;对吗?@KanishkaPanamaldeniya这是,因为变量没有初始化,所以它是空的。如果打开错误报告,您将在第一行看到关于使用未初始化变量的警告。在换行符上声明变量,如varname代码>不会用我所知道的任何语言重新初始化它