Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么重新初始化变量-PHP后prevoius值仍然存在_Javascript_Php - Fatal编程技术网

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不会用我所知道的任何语言重新初始化它