というか、「PHP 配列のキーとして使用される引用符で囲まれていない文字列を修正する」ですが、それはタイトルとしては少し長かったです。
配列が次のように記述されている非常に大きなコードベースを継承しました。
$array[id] = 0;
$array[value] = "test"
このコードは実際には機能しますが、多くのUse of undefined constant
通知がスローされるため、これらの行は実際には次のようになる必要があります。
$array['id'] = 0;
$array['value'] = "test"
数十万行のコードが数千のファイルに分散しているということです。
また、次のようなケースもあります。
$_SESSION[user_information][access_bit][ACCESS_NULL] = 1;
user_information
とは文字列access_bit
を意味しACCESS_NULL
、定義された定数です。良いことは、定数が大文字でのみ定義されることです。
さらに興味深いことに、同じ php ファイルに JavaScript も含まれていますarray[id] = 0;
。
この混乱を効率的にクリーンアップし、未定義の定数をすべて一重引用符で囲みたいのですが、単純な検索/置換 (正規表現を使用しても) がそれを行うかどうかはわかりません。何かご意見は?