PHP: Lint/Find 静默字符串到数组的转换

PHP: Lint/Find silent string to array conversions

我必须维护旧代码(主要是在 PHP 5.3 中编写的),我们正在努力将其提升到 PHP 7.2。

到目前为止我们进展顺利,但我在静默字符串到数组转换方面遇到了问题。

我的意思是将变量初始化为空字符串,然后将其用作数组:

$test = "";

$test[] = "foo";

这将适用于旧的 PHP 版本,但因为 7.1 会引发致命异常。

有没有一种方法,比如说 linter,我可以用它扫描这种用法的代码,以获得一个列表,我必须在其中更改变量的初始化?该应用程序很大,因此手动操作会很痛苦...

尝试列出文件和字符串。

grep -nr '"";' .

如果可以,交换

grep -lr '"";' . | xargs perl -p -i -e 's/"";/array();/g'