我必须维护旧代码(主要用PHP 5.3编写),我们正在尝试将其提高到PHP 7.2。
到目前为止,我们进展顺利,但我对将字符串转换为静默字符串有疑问。
我的意思是将变量初始化为空字符串,然后将其用作数组:
$test = "";
$test[] = "foo";
这将在较旧的PHP版本中运行,但由于7.1会引发致命异常。
是否有一种方法,比如说一个linter,我可以用它来扫描这种用法的代码以获取一个列表,在该列表中我必须更改变量的初始化?该应用程序非常庞大,因此手动执行会很麻烦...
答案 0 :(得分:2)
尝试列出文件和字符串。
grep -nr '"";' .
如果可以,请交换
grep -lr '"";' . | xargs perl -p -i -e 's/"";/array();/g'