PHP:list() 在 PhpStorm 中给出未使用的局部变量错误

标签 php phpstorm

我正在使用在 https://stackoverflow.com/a/25749660 找到的答案为了按最喜欢的语言对 $_SERVER['HTTP_ACCEPT_LANGUAGE'] 数组进行排序。

在那个答案中(顺便说一句,它工作得很好),一行是:

list($a, $b) = explode('-', $match[1]) + array('', '');

在 PhpStorm 中,我收到该行的以下错误:

“未使用的局部变量$b:立即覆盖变量的值”。

我对这条线到底做了什么感到有点困惑,所以我不知道我是否应该保持不变,或者我是否应该将其修改为:

list($a) = explode('-', $match[1]) + array('', '');

...这似乎也工作正常。

是否应该更改?

最佳答案

措辞令人困惑,因为它是对涵盖两种情况的检查的完整解释,而初始工具提示仅显示第一行,恰好描述了其他情况。如果你点击 Ctl+F1 你可以阅读完整的文本,这更有意义(强调我的):

Unused local variable 'b'. The value of the variable is overwritten immediately. less... (Ctrl+F1)

Inspection info: A variable is considered unused in the following cases:

  • The value of the variable is not used anywhere or is overwritten immediately.
  • The reference stored in the variable is not used anywhere or is overwritten immediately.

这正是这里发生的事情:

list($a, $b) = …

$a 稍后使用,但 $b 不是。由于从未使用过 $b,因此这也适用:

list($a) = explode('-', $match[1]) + array('', '');

(请记住,这些检查是防止潜在错误的提示,不一定是错误。)

关于PHP:list() 在 PhpStorm 中给出未使用的局部变量错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51689922/

相关文章:

git - 如何使用类似PhpStorm/WebStorm的GitKraken查看特定文件的git历史记录

laravel - 如何使用 Laradock 和 PhpStorm 配置 Xdebug

php - 使用 AngularJS 和 Slim PHP 进行路由

php - 尝试在 Jessie 服务器上使用 PHP7 获取 LAMP 配置

php - 如何拆分一个字符串并找到一个字符串在另一个字符串中的出现?

php - 将帖子保存到成员(member)个人资料

php - 在音频标签中显示文件夹中的所有.MP3文件

php - 在 PhpStorm 中找不到 PDO 类

css - Phpstorm Live Edit 无法处理外部 css 和 js 文件

regex - 如何在 PhpStorm 的 "Find and Replace"中使用 RegEx 标志?