我被分配了一个项目,该项目的关联数组到处都没有单引号。
例子:
$foo[bar]
应该是:
$foo['bar']
这会生成一个 PHP 通知,这是非常糟糕的做法。
引用PHP.net:
这是错误的,但它有效。原因是这段代码有一个未定义的常量(bar)而不是字符串('bar' - 注意引号)。PHP 将来可能会定义常量,不幸的是,对于此类代码,这些常量具有相同的名称。它之所以有效,是因为 PHP 会自动将一个裸字符串(一个不与任何已知符号对应的未加引号的字符串)转换为包含该裸字符串的字符串。例如,如果没有定义名为 bar 的常量,那么 PHP 将替换字符串 'bar' 并使用它。
而且它对性能不利,因为它必须在使用之前搜索一个常数'key'
所以我想知道是否有人知道一个脚本可以实现这一点,而不必为每个文件一个一个地手动完成。
更新:
我使用 Vim 作为编辑器,我知道如何在单个文件中使用它的搜索和替换命令,但是我发现这有两个问题:
我无法搜索和替换这样的东西,因为我认为它不支持正则表达式。
它仅适用于当前打开的文件(据我所知)。