是否有必要在PHP中初始化/声明变量?

2022-08-30 12:55:08

是否有必要在循环或函数之前初始化/声明变量?

无论我是否在代码之前初始化/声明变量仍然有效。

我正在分享我实际含义的演示代码:

$cars = null;

foreach ($build as $brand) {
     $cars .= $brand . ",";
}

echo $cars;

foreach ($build as $brand) {
     $cars .= $brand . ",";
}

echo $cars;

这两段代码对我来说工作相同,那么有必要在开始时初始化/声明一个变量吗?


答案 1

PHP不需要它,但总是初始化变量是一种很好的做法。

如果不使用默认值初始化变量,PHP 引擎将根据您使用变量的方式执行类型转换。这有时会导致意外行为。

简而言之,在我看来,始终为变量设置默认值。

PS:在你的例子中,值应该设置为“”(空字符串),而不是null,因为你用它来连接其他字符串。

编辑

正如其他人(@n-dru)所指出的那样,如果您没有设置默认值,将生成通知。


答案 2

您最好为它分配一个空字符串,否则(以防万一您报告错误),您应该会看到一条通知:$cars = '';

注意:未定义的变量:汽车

PHP 将假定它是空的,并且生成的字符串将是相同的,但您不应该因为需要记录该声明而导致额外的开销。因此,在性能方面,最好先将其指定为空。

此外,使用像Aptana这样的编辑器,您可能希望按下以查看给定变量的来源。在某个地方初始化它是如此舒适。因此,在调试方面,最好有明显的变量诞生位置。F3


推荐