Ome*_*mer 28 php variables initialization declaration
这个问题的目的是只为我和许多像我这样的人获取知识或信息.
所以我的问题是:
是否有必要在循环或函数之前初始化/声明变量?
问这个问题是我的困惑,因为我之前是否初始化/声明变量我的代码是否仍然有效.
我正在分享我实际意思的演示代码:
$cars = null;
foreach ($build as $brand) {
$cars .= $brand . ",";
}
echo $cars;
Run Code Online (Sandbox Code Playgroud)
要么
foreach ($build as $brand) {
$cars .= $brand . ",";
}
echo $cars;
Run Code Online (Sandbox Code Playgroud)
这两段代码对我来说都是一样的,所以在开始时初始化/声明一个变量是必要的吗?
Ale*_*der 32
PHP不需要它,但始终初始化变量是一个好习惯.
如果不使用默认值初始化变量,PHP引擎将根据您使用变量的方式进行类型转换.这有时会导致意外行为.
所以简而言之,在我看来,总是为变量设置一个默认值.
PS在您的情况下,值应设置为""(空字符串),而不是null,因为您使用它来连接其他字符串.
编辑
正如其他人(@ n-dru)所指出的那样,如果您没有设置默认值,则会生成通知.
n-d*_*dru 17
您最好为其分配一个空字符串$cars = '';,否则(如果您有错误报告),您应该看到一个通知:
注意:未定义的变量:汽车
PHP将假定它是空的并且结果字符串将是相同的,但您不应该因为需要记录该通知而导致额外的开销.因此,性能方面最好先将其分配为空.
此外,使用像Aptana等编辑器,您可能希望按下F3以查看给定变量的来源.将它初始化到某个地方真是太舒服了.所以在调试方面,最好有变量诞生的明显位置.