【PHP】strcmp関数で文字列の比較を行う方法

PHPのstrcmp関数は、2つの文字列を比較して、その結果を整数値で返す関数です。strcmp関数を使用することで、文字列が等しいかどうか、あるいはどちらが大きいかを簡単に判定できます。以下に、strcmp関数を使った文字列の比較方法を紹介します。

strcmp関数の構文

int strcmp ( string $str1 , string $str2 )
  • $str1: 比較する最初の文字列。
  • $str2: 比較する2番目の文字列。

戻り値
$str1が$str2より小さい場合:負の整数を返します。
$str1が$str2と等しい場合:0を返します。
$str1が$str2より大きい場合:正の整数を返します。

使用例

<?php
$string1 = "apple";
$string2 = "banana";

$result = strcmp($string1, $string2);

if ($result < 0) {
    echo "'$string1' is less than '$string2'.";
} elseif ($result > 0) {
    echo "'$string1' is greater than '$string2'.";
} else {
    echo "'$string1' is equal to '$string2'.";
}
?>

出力結果

'apple' is less than 'banana'.

応用例 大文字と小文字を区別せずに比較する場合

strcmp関数は大文字と小文字を区別して比較します。大文字と小文字を区別せずに比較したい場合は、strcasecmp関数を使用します。

<?php
$string1 = "Apple";
$string2 = "apple";

$result = strcasecmp($string1, $string2);

if ($result < 0) {
    echo "'$string1' is less than '$string2'.";
} elseif ($result > 0) {
    echo "'$string1' is greater than '$string2'.";
} else {
    echo "'$string1' is equal to '$string2'.";
}
?>

出力結果

'Apple' is equal to 'apple'.

まとめ

strcmp関数を使用することで、文字列を簡単に比較し、大小関係や等しさを判定することができます。大文字と小文字を区別しない比較が必要な場合は、strcasecmp関数を使うと便利です。