PhpStorm 2021.3 Help

代码检查:“foreach”变量覆盖已定义的变量

报告循环中在foreach循环之前分配了非原始值并在foreach循环之后访问的键和值。这种用法可能会不情愿地覆盖已经定义的值并导致潜在的错误。

在下面的示例中,$value变量最初被分配了调用的结果foo()。遍历myArr数组时,当前元素的值被分配给并$value在每次迭代时覆盖。为了避免潜在的错误,循环$val内使用了一个新变量。foreach

$value = foo(); foreach ($myArr as $key => $value) {} echo $value;
$value = foo(); foreach ($myArr as $key => $val) {} echo $value;

禁止编辑器中的检查

  1. 将插入符号放在突出显示的行上,然后按Alt+Enter或单击意图操作图标

  2. 单击要抑制的检查旁边的箭头,然后选择必要的抑制操作。

最后修改:2021 年 7 月 16 日