增加不在php中初始化数组值

Dan*_*oli 3 php arrays

Hy我有一个foreach循环,它将数组键添加到另一个数组.我想知道它是否可以增加(使用++)和uninitialize元素.目前我的代码是:

foreach($SociBdP as $id=>$socio)
{
    if(!isset($provenienza[$option_name]))
        $provenienza[$option_name]=0;
    $provenienza[$option_name]++;
}
Run Code Online (Sandbox Code Playgroud)

我想知道它是否安全

foreach($SociBdP as $id=>$socio)
{
    $provenienza[$option_name]++;
}
Run Code Online (Sandbox Code Playgroud)

或者如果存在风险(如在c ++中),则数组的默认值不为0

Álv*_*lez 5

虽然这是一种记录在案的行为,但您可以信任:

没有必要在PHP中初始化变量,但这是一个非常好的做法.未初始化的变量具有其类型的默认值,具体取决于使用它们的上下文 - 布尔值默认为FALSE,整数和浮点数默认为零,字符串(例如,在echo中使用)设置为空字符串,数组变为空阵列.

...它还会阻止您利用通知,因为您需要降低错误报告设置,以便它们不会出现在开发阶段:

var_dump($foo);
Run Code Online (Sandbox Code Playgroud)
Notice: Undefined variable: foo in D:\tmp\borrame.php on line 3
NULL
Run Code Online (Sandbox Code Playgroud)

通知通常被新手视为烦恼,但它们实际上是发现愚蠢错别字的绝佳工具.