本記事では、PHPで文字列・配列内の文字列を置換する方法について解説しています。
PHPの学習におすすめ参考書
気づけばプロ並みPHP 改訂版–ゼロから作れる人になる!
先輩くん
Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!
後輩ちゃん
初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!
綺麗なコードが書けるようになる!
リーダブルコード-より良いコードを書くためのシンプルで実践的なテクニック
先輩くん
より良いコードを書きたい人におすすめの本だよ!
後輩ちゃん
10以上前の書籍ですが、内容は今でも役に立つものばかりです!
str_replace関数
文字列・配列内の文字列を置換したい場合は、str_replace関数を使用します。基本的な使い方は以下のとおりです。
$result = str_replace($search, $replace, $subject [, &$count]);
構文解説
- $result:置換後の文字列・配列を返す
- $search:置換前の文字列・配列を指定
- $replace:置換後の文字列・配列を指定
- $subject:対象の文字列・配列を指定
- &$count:マッチして置換が行われた回数を変数に保持する(省略可能)
まずは、str_replace関数を使用して文字列を置換するサンプルコードを用意したので、動作確認してみましょう。サンプルコードの内容は、変数$strに代入されている文字列が「しゃ」だけ漢字ではないので「者」に置換します。
<?php
$str = '打しゃ 走しゃ 勝しゃ 走者一掃';
$result = str_replace('しゃ', '者', $str, $count);
echo "置換箇所:{$count}箇所 <br />";
echo "実行結果:{$result}";
/* 実行結果 *
* 置換箇所:3箇所
* 実行結果:打者 走者 勝者 走者一掃
*/
str_replace関数の第一引数に置換前の「しゃ」を指定、第二引数に置換後の「者」を指定、第三引数に対象の文字列である変数$strを指定、第四引数には置換した回数が代入される変数$countを指定しています。
実行結果を確認すると、置換した回数が3回と表示されており変数$strの文字列を確認すると「しゃ」が3回出現しているため正しいことが確認できます。肝心の実行結果は、全て「者」に変換され違和感のない文字列になっていることが確認できます。
続いて、配列内の文字列を置換するサンプルコードも動作確認してみましょう。サンプルコードの内容は文字列の置換とほぼ同じです。
<?php
$arr = ['打しゃ', '走しゃ', '勝しゃ', '走者一掃'];
$result = str_replace('しゃ', '者', $arr, $count);
echo "置換箇所:{$count}箇所 <br />";
print_r($result);
/* 実行結果 *
* 置換箇所:3箇所
* Array ( [0] => 打者
=> 走者
=> 勝者
=> 走者一掃 )
*/
実行結果を確認すると文字列と同様に配列内にある文字列も置換されていることが確認できます。