[PHP] 配列の置換

Laravel

seederを作った時やログを出してからテストでassertする時に使える小技。
こんな感じでarray()なんて古い書き方しないで [] で書きたい!っていうとき。

array(
    0 =>
    array(),
    1 =>
    array()
);

まずはVSCodeで⌘Fなりで検索窓を表示させます。左の>をクリックして置換モードにします。
上の検索窓に
array(
と書き、下の検索窓には
[
で全件置換。その次に上の検索窓に
),
と書きます。この時カンマを入れないと文字列中とかの)も消えます。もちろん文字列中に), とあったら消えますが。。その際には改行も含めるとかで対応すれば平気かと思います。で、下の検索窓には
],
で置換します。これでarray() → [] にしました。
0 => みたいな添字が残って邪魔なので検索窓の右にある「.*」みたいなマークをクリックして正規表現をできるようにします。その後以下の正規表現を上の検索窓に書きます。

^\s*\d{1,3}\s*=>.*\r?\n?

下の検索窓には何も入力しないで置換すると添字と改行を削除します。
これで楽に変換できました。

コメント

タイトルとURLをコピーしました