静态代码分析器中未使用的 foreach 值

Unused foreach value in static code analyzers

静态代码分析器(在这种特定情况下)PHPMD 哀叹以下 PHP 代码片段中的错误:

foreach ($aSomething as $key => $value) {
    ... do something with the $key only
}

错误:

Avoid unused local variables such as '$value'.

现在,我不知道有什么方法可以只使用键来创建 foreach 循环。 "analyzer safe" 解决这些问题的方法是什么?

我目前正在通过调用 array_keys 来解决这个问题,然后在这个问题上进行 foreach-ing,但感觉有点矫枉过正。另一种解决方案是始终使该循环的分析器静音。

如何"right"保持代码质量和"understandability"代码要求一致?

正如我从一些 phpmd 文档中读到的,规则 UnusedLocalVariable 有一个 allow-unused-foreach-variables 属性,请在此处阅读更多内容:

https://phpmd.org/rules/unusedcode.html

此外,根据 github thread here https://github.com/phpmd/phpmd/pull/329,应该有一个选项

whitelist variables in the UnusedLocalVariable rule

至于使用像 $_ 这样的变量,这意味着 "value not needed" 或 "throw it away",还有另一个 git 线程 https://github.com/phpmd/phpmd/issues/326,它最终将您发送到前一个有机会 "whitelist variables in the UnusedLocalVariable rule"。

因此,有两个选项 - 允许未使用的变量,我认为这不是个好主意。第二种选择是将被忽略的变量列入白名单(例如上面提到的$_)并在不需要这些变量中的数据时使用它们。

虽然我不知道如何配置 phpmd,但我想有人可以使用上述选项的正确配置来编辑我的答案。