PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのsimilar_text()関数とは?文字列の類似度を計算する方法を解説

PHPのsimilar_text()関数は、2つの文字列間の類似度を計算するために使用される組み込み関数です。この関数を使うことで、2つの文字列がどれだけ一致しているかを、一致する文字数やパーセンテージとして把握できます。

構文

similar_text(str1, str2, percent)

パラメータ

  • str1 − 比較対象となる最初の文字列

  • str2 − 比較対象となる2番目の文字列

  • percent − 類似度をパーセンテージで格納するための変数名(第3引数は省略可能で、参照渡しにより結果を受け取ります)

戻り値

similar_text()関数は、2つの文字列に含まれる一致した文字の数を返します。また、第3引数に変数を指定した場合は、類似度がパーセンテージ(%)としてその変数に格納されます。

使用例

以下は、「mobile」と「mobility」という2つの文字列の類似度を調べる例です。

<?php
   $res = similar_text("mobile", "mobility", $percent);
   echo "一致した文字数 : $res\n";
   echo "類似度 : {$percent}%";
?>

出力

一致した文字数 : 5

この例では、「mobile」と「mobility」の共通する文字が5つであることがわかります。

空文字列を比較した場合の例

次に、2つの空文字列("")を比較した場合の動作を確認してみましょう。

<?php
   similar_text("", "", $res);
   echo $res;
?>

出力

0

比較する文字列が空の場合、一致する文字は存在しないため、戻り値は「0」となります。

注意点

similar_text()関数による比較では、大文字と小文字が区別されます。例えば「Apple」と「apple」は完全には一致しないため、大文字小文字を無視して比較したい場合は、あらかじめmb_strtolower()などの関数で文字列を揃えておくことをおすすめします。


  1. PHPのcrc32()関数とは?使い方とデータ整合性チェックの方法

    crc32()関数は、文字列から32ビット長のCRC(巡回冗長検査)チェックサムを計算するためのPHP組み込み関数です。主にデータの整合性を検証する目的で使用され、送信前後のデータが一致しているかどうかを簡単に確認できます。crc32()関数の概要CRC(Cyclic Redundancy Check:巡回冗長検査)は、データ通信やファイル転送時に発生する誤りを検出するための代表的な手法です。crc32()関数を使えば、任意の文字列に対応するチェックサム値(整数)を取得できます。同じ入力に対しては常に同じ値が生成されるため、データが途中で破損・改変されていないかを検証する際に役立ちます。構文c

  2. PHPのbin2hex()関数とは?文字列を16進数に変換する方法をわかりやすく解説

    PHPのbin2hex()関数は、文字列(ASCII文字)を16進数表現に変換するための組み込み関数です。バイナリデータや文字列を16進数の文字列として扱いたい場合に便利で、データのエンコード処理などによく利用されます。 構文 bin2hex(str) パラメータ str − 16進数に変換したい文字列を指定します。 戻り値 bin2hex()関数は、引数に渡されたASCII文字列を1バイトずつ16進数の値に変換し、その結果を文字列として返します。戻り値は常に英数字(0〜9、a〜f)で構成される文字列になります。 実際の使用例を見てみましょう。 例1:基本的な使い方 <?php