こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、11年目エンジニアです。
この記事では、 PHPで指定した値の置換ができるstr_replace関数について
- str_replace関数とは
- str_replace関数を使ったサンプルプログラム
と、丁寧に解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
| OS | Windows10 | 
|---|---|
| PHPのバージョン | 8.0.3 | 
| XAMPPのバージョン | 8.0.3 | 
PHPを動かすためにXAMPPを使っています。
XAMPPのインストールは、下の記事をご参考ください。
str_replace関数とは
str_replace関数とは、対象の文字列を指定した値にすべて置換して返す関数です。
置換した回数も取得することができます。
str_replace関数の引数は以下のように指定します。
| 第一引数(必須) | 置換対象の文字列または配列 | 
|---|---|
| 第二引数(必須) | 置換する文字列または配列 | 
| 第三引数(必須) | 置換を行う文字列または配列 | 
| 第四引数(任意) | 置換した回数を格納する変数 | 
引数に文字列と配列を指定することができ、それぞれ動きが異なります。
次の章で
- 引数に文字列を指定した場合
- 引数に配列を指定した場合
とそれぞれ解説していきます。
引数に文字列を指定した場合
引数に文字列を指定した場合のサンプルは以下になります。
| 1 2 | $sample = 'abcd'; $result = str_replace('b', 'B', $sample, $cnt); | 

上記の例だと、resultには「aBcd」という文字列が返され、cntには「1」が格納されます。
引数に配列を指定した場合
引数に指定するものを文字列と配列で最も異なるのは、置換するものを複数指定することができる点です。
引数に配列を指定した場合のサンプルは以下になります。
| 1 2 3 4 | $sample = ['aaa', 'bbb', 'AAA']; $sample_search = ['aaa', 'bbb']; $sample_replace = ['ccc', 'ddd']; $result = str_replace($sample_search , $sample_replace, $sample, $cnt); | 

上記の例だと、resultには
| 1 2 3 4 5 | (     [0] => ccc     [1] => ddd     [2] => AAA ) | 
という配列が格納され、cntには「2」が格納されます。
第一引数の置換対象の配列と第二引数の置換する配列には関連性があり、

というように、同じインデックスの要素の文字列に変換されます。
では、次の章で実際に使ってみます。
str_replace関数を解説するプログラムの概要
str_replace関数を解説するプログラムでは
- 引数に文字列を指定
- 引数に配列を指定
の2種類でstr_replace関数で文字列を置換し、結果を表示させます。
phpプログラムは
C:\xampp\htdocs
配下に、【str_replace_sample.php】というファイル名で格納しています。

PHPサンプルプログラム
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <?php 	// 文字列指定サンプル 	$aiueo = 'あかいうかえおかか'; 	$aiueo_change = str_replace('か', '@', $aiueo, $cnt_aiueo); 	print('■引数に文字列を指定<br />'); 	print('置換前:'.$aiueo.'<br />'); 	print('置換後:'.$aiueo_change.'<br />'); 	print('置換した回数:'.$cnt_aiueo.'<br /><br />'); 	// 配列指定サンプル 	$fruits = ['apple', 'lemon', 'watermelon', 'strawberry']; 	$fruit_search = ['apple', 'strawberry', 'watermelon']; 	$fruit_replace = ['peach', 'melon']; 	$fruits_change = str_replace($fruit_search, $fruit_replace, $fruits, $cnt_fruit); 	print('■引数に配列を指定<br />'); 	print('置換前'); 	print_r('<pre>'); 	print_r($fruits); 	print_r('</pre>'); 	print('置換後'); 	print_r('<pre>'); 	print_r($fruits_change); 	print_r('</pre>'); 	print('置換した回数:'.$cnt_fruit.'<br /><br />'); ?> | 
実行結果
XAMPPを起動して、【http://localhost/str_replace_sample.php】のURLにアクセスします。
XAMPPでPHPの動かし方については、こちらの記事をご参考ください。

指定した文字列で置換できていることが確認できました!
まとめ:str_replace関数を使ってみよう!
以上がstr_replace関数についての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
 
  
  
  
  
コメント