php str_replaceを使って文字列の中の文字を置換する

  • 作成日 2021.12.01
  • php
php str_replaceを使って文字列の中の文字を置換する

phpで、str_replaceを使用して、文字列の中の文字を置換するサンプルコードを記述してます。phpのバージョンは8.0です。

環境

  • OS  CentOS Stream release 8
  • php 8.0.0
  • nginx 1.14.1

str_replace使い方

str_replaceを使用すれば、文字列の中の文字を置換することが可能です。

str_replace('置換する文字列', '置換したい文字列', '置換対象');

以下は、文字列の中の文字を置換するサンプルコードとなります。

<?php

$str = 'mebee';

$result = str_replace('e', 'a', $str);

echo $result . PHP_EOL;
// mabaa

$result = str_replace('ee', 'ああ', $str);

echo $result . PHP_EOL;
// mebああ

また第四引数を指定すると、置換した数を格納することができます。

<?php

$str = 'mebee';

$result = str_replace('e', 'a', $str, $count);

echo $count . PHP_EOL;
// 3

大文字、小文字は区別されます。

<?php

$str = 'mEbee';

$result = str_replace('e', 'a', $str);

echo $result . PHP_EOL;
// mEbaa

大文字、小文字を区別しない場合は「str_ireplace」を使用します。

<?php

$str = 'mEbee';

$result = str_ireplace('e', 'a', $str);

echo $result . PHP_EOL;
// mabaa

strtrを使用して置換することも可能です。

strtr('置換対象' ,'置換する文字列', '置換したい文字列');

strtrを使ったサンプルコード

<?php

$str = 'mebee';

$result = strtr($str ,'e', 'a');

echo $result . PHP_EOL;
// mabaa

preg_replaceで正規表現を使用して置換することもできます。

preg_replace('正規表現', '置換する文字列', '置換対象');

preg_replaceを使ったサンプルコード

<?php

$str = 'mebee';

$result = preg_replace('/e/', 'a', $str);

echo $result . PHP_EOL;
// mabaa

パフォーマンスは、strtrが一番良さそうです。

【参考】 同じコードを1000万回実行した結果

測定結果 : str_replace
process time: 3.87446 ミリ秒

測定結果 : strtr
process time: 3.36174 ミリ秒

測定結果 : preg_replace
process time: 9.05623 ミリ秒