代码检查:“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;
禁止编辑器中的检查
将插入符号放在突出显示的行上,然后按Alt+Enter或单击。
单击要抑制的检查旁边的箭头,然后选择必要的抑制操作。
最后修改:2021 年 7 月 16 日