【PHP8.x】strtr関数の使い方

作成日: 更新日:

strtr関数は、指定された文字列中の文字または部分文字列を、別の文字または部分文字列に置換する関数です。この関数は、主に二つの異なる方法で文字列の置換を実行できます。

第一に、三つの引数を受け取る形式では、対象となる元の文字列、置換元の文字集合、そして置換先の文字集合を指定します。例えば、「abracadabra」という文字列中の「a」を「x」に、「b」を「y」に置き換えたい場合、置換元の文字集合に「ab」、置換先の文字集合に「xy」を指定することで、元の文字列内の各「a」が「x」に、各「b」が「y」に変換されます。この形式は、文字単位での一括変換を効率的に行いたい場合に特に有用です。

第二に、二つの引数を受け取る形式では、対象となる元の文字列と、置換元と置換先のペアをキーと値として持つ連想配列を指定します。この形式では、置換元として任意の長さの部分文字列を指定できるため、特定の単語やフレーズを別の単語やフレーズに置き換えることが可能です。この連想配列を用いた置換では、連想配列のキー(置換元)が長いものから順に処理されるという重要な特性があります。これにより、「apple」と「applepie」のような関連する部分文字列がある場合でも、「applepie」が先に置換され、意図しない部分置換を防ぐことができます。

strtr関数は、テキストデータの整形、特定の記号の変換、ユーザー入力のサニタイズなど、幅広いシナリオで文字列処理を簡潔かつ効率的に行うために利用されます。特に、多数の異なる文字や部分文字列を一度に置換する必要がある場合に、その利便性を発揮します。

基本的な使い方

構文(syntax)

<?php
$originalString = "Hello PHP World";
$replacements = [
    "Hello" => "こんにちは",
    "World" => "世界"
];
$translatedString = strtr($originalString, $replacements);
echo $translatedString;
?>

引数(parameters)

string $string, string $from, string $to

  • string $string: 置換対象の文字列
  • string $from: 置換される文字を指定する文字列
  • string $to: 置換後の文字を指定する文字列

戻り値(return)

string

指定された文字列内で、指定された検索文字列を置換した結果の文字列が返されます。

【PHP8.x】strtr関数の使い方 | いっしー@Webエンジニア