str_replace()
関数の使い方
str_replace()
関数は、
文字列の中から特定の文字列を検索して別の文字列に置き換える関数です。
$str = 'Hello, world!';
$new_str = str_replace('world!', 'universe!', $str);
echo $new_str;
str_replace()
関数は、指定された文字列の中から指定した文字列を検索して、置換文字列に置き換える役割を果たします。
固定された文字列で検索するのではなく、パターンに基づいて検索してテキストを置き換えたい場合は、preg_replace()
を使用してください。
str_replace()
関数の書式は以下のとおりです。
構文
str_replace(
array|string $search,
array|string $replace,
string|array $subject,
int &$count = null
): string|array
// str_replace(検索する文字列, 置換する文字列, 対象の文字列[, カウント]);
引数
$search |
必須。対象の文字列の中で置き換えたい文字列または文字列の配列を指定します。(大文字と小文字は区別されます。) |
---|---|
$replace |
必須。$search を置き換える新しい文字列または文字列の配列を指定します。 |
$subject |
必須。対象となる文字列または文字列の配列を指定します。
$search をこの文字列の中から検索し、$replace で置き換えます |
$count |
オプション。置換処理の回数を保存するための変数です。 初期値は null です。str_replace() 関数が呼び出されると、この変数に置換処理の回数が格納されます。参照渡しの変数です。 |
ご注意ください!str_replace()
関数は大文字と小文字を区別します。
大文字・小文字を区別せずに置換したい場合は、str_ireplace()
関数を使用してください。
戻り値
str_replace()
関数は、置換処理が行われた後に対象の文字列または文字列の配列を返します。
関数は置換処理の後、対象の文字列または文字列の配列を返します。
使い方
str_replace()
関数の使い方を説明します。
特定の文字を別の文字に置き換える場合
$original_string = 'Hello, world! Hello, PHP!';
$new_string = str_replace('Hello', 'Hi', $original_string);
echo $new_string; // 出力: 'Hi, world! Hi, PHP!'
上記の例では、str_replace()
関数が「Hello」を「Hi」に置き換えて新しい文字列を生成し、その新しい文字列が$new_string
変数に保存されます。その後、echo $new_string;
を使って新しい文字列を出力しています。
したがって、str_replace()
関数を呼び出した結果である$new_string
は、置換後の結果を持つ新しい文字列を表します。これがstr_replace()
関数の戻り値です。
特定の文字列を削除する場合
$str = 'This is a test';
$new_str = str_replace('test', '', $str);
echo $new_str; // 出力: 'This is a'
上記の例で、$str
は「This is a test」という文字列です。str_replace()
関数を使って、$str
の中の「test」を空文字列(''
)に置き換えることで、削除する結果を得られます。削除後の結果は「This is a」です。
str_replace()
関数は文字列を処理する際に非常に便利な関数です。さまざまな状況で活用できるため、しっかりと理解しておくことをおすすめします。
str_replace()
関数で配列を使い、複数の文字列を置き換える例
$original_array = ['Apples are red.', 'Bananas are yellow.', 'Apples and bananas are delicious.'];
$search = ['Apples', 'Bananas'];
$replace = ['Oranges', 'Grapes'];
$new_array = str_replace($search, $replace, $original_array);
print_r($new_array);
/* 出力:
Array
(
[0] => Oranges are red.
[1] => Grapes are yellow.
[2] => Oranges and grapes are delicious.
)
*/
$original_string = 'Apples are red. Bananas are yellow. Apples and bananas are delicious.';
$search = ['Apples', 'Bananas'];
$replace = ['Oranges', 'Grapes'];
$new_string = str_replace($search, $replace, $original_string);
echo $new_string;
// 出力: 'Oranges are red. Grapes are yellow. Oranges and grapes are delicious.'
$count
引数を使った便利な例
$count
引数は、str_replace()
関数の置換処理の回数を保存するための変数で、任意のパラメーターです。初期値はnull
です。str_replace()
関数が呼び出されると、この変数に置換処理の回数が格納されます。
$count
引数を使った便利な例のひとつは、特定の文字列やパターンの出現回数を数えることです。これにより、文字列内で特定のパターンがどれくらい頻繁に現れるかを把握できます。
例えば、特定の単語が文字列の中でどれくらい頻繁に出現するかを数えたい場合を考えてみましょう。
$original_string = 'こんにちは、世界!こんにちは、PHP!こんにちは、みんな!';
$search = 'こんにちは';
$replace = 'こん';
$count = 0;
$new_string = str_replace($search, $replace, $original_string, $count);
echo $new_string; // 出力: 'こん、世界!こん、PHP!こん、みんな!'
echo "単語 '{$search}'は{$count}回現れます。";
// 出力: "単語 'こんにちは'は3回現れます。"
上記の例では、$search
変数に検索する単語「こんにちは」、$replace
変数に置換する単語「こん」を指定しています。str_replace()
関数を実行する際に$count
変数も渡しているため、置換処理が何回行われたかを示す$count
変数に値が格納されます。