Php 使用加号等于运算符时出现未定义的索引错误
我正在处理另一个开发人员的旧代码,这里有大量的注意事项:当使用+=运算符设置数据时,会出现未定义的索引错误。实际上,数组中尚未设置索引,因此会生成错误 例如:Php 使用加号等于运算符时出现未定义的索引错误,php,Php,我正在处理另一个开发人员的旧代码,这里有大量的注意事项:当使用+=运算符设置数据时,会出现未定义的索引错误。实际上,数组中尚未设置索引,因此会生成错误 例如: $myArray = array(); $myValue = 1; for ($i = 1; $i <= 10; $i++) { $myArray['test'] += 1; } $myArray=array(); $myValue=1; 对于($i=1;$i来说,这稍微短了一点,但如果您进行了许多编辑,可能仍然有点复杂
$myArray = array();
$myValue = 1;
for ($i = 1; $i <= 10; $i++)
{
$myArray['test'] += 1;
}
$myArray=array();
$myValue=1;
对于($i=1;$i来说,这稍微短了一点,但如果您进行了许多编辑,可能仍然有点复杂
$myArray = array();
$myValue = 1;
for ($i = 1; $i <= 10; $i++)
{
isset($myArray['test']) ? $myArray['test'] += $myValue : $myArray['test'] = $myValue;
}
$myArray=array();
$myValue=1;
对于($i=1;$iOld/Deprecaded/Unrecommended,但最短的解决方案是
@$myArray['test'] += $myValue;
如果您使用的是PHP7及更高版本,则可以使用使此代码更干净
$myArray = [];
$myValue = 1;
for ($i = 1; $i <= 10; $i++)
{
$myArray['test'] = $myValue + ($myArray['test'] ?? 0);
}
$myArray=[];
$myValue=1;
对于($i=1;$i您可以选择关闭PHP通知吗?生产服务器上的所有错误都已关闭。我只是在不得不在开发服务器上编辑某些内容后才注意到这些错误。那么忽略这些错误可以吗?array\u key\u存在
+isset
,如果您想以真正的核心方式执行;)我会尽量避开它们。如果你一般都避开它们,你得到的(出乎意料地)是非常有帮助的。可能是重复的感谢,这似乎足够简单,值得重写一切。这是黑魔法吗?它到2021年仍然有效。不要这样做!(沃尔夫说“未推荐”。)如果有人来用myFunc()替换$myValue,并且该函数出现错误,这将吞噬错误。这是非常糟糕的做法!
@$myArray['test'] += $myValue;
$myArray = [];
$myValue = 1;
for ($i = 1; $i <= 10; $i++)
{
$myArray['test'] = $myValue + ($myArray['test'] ?? 0);
}