PHP

【PHP】PHPでの文字列比較の方法まとめ!

こんにちは、あきぞらです。

PHPで文字列を比較する処理を書いていた時に、

おさらいしておきたかったので、今回は文字列比較方法を書いていきます。

比較演算子 `==`

こちらは型の相互変換をした後で等しいかどうかを判定する比較。

2つ目の式は比較の前に右辺を数値型に変換してから比較するため、

123と123の比較になり、Trueが返されます。

123 == 1234       // これは当然Falseになります
123 == '1234'       // これもFalseになります
123 == '123abcdefg' // これはTrueになります(!!)

3つ目が`true`になるため、注意が必要です。

比較演算子 `===`

こちらは、型の比較をおこないます。

123 == '123abcdefg'     // 当然Falseです
12345 === '12345'       // Falseです
12345 === (int)'12345'  // Trueです

型で比較するので、int型とstring型では方が違うので、

結果はFalseになります。

strcmp関数を使った比較

等しい場合は0、等しくない場合はバイト数比較の結果が返されます。

strcmp(123, '123abcdefg')       // 等しくなく後者が大きいのでマイナスになります
strcmp(12345, '12345')          // 比較結果は0(等しい)となります
strcmp(12345, (int)'12345')     // 比較結果は0(等しい)となります

使い方を間違えると、バグの原因にもなったりするので、注意して利用したいところです。

-PHP

Copyright© あきぞらてっく , 2025 All Rights Reserved Powered by AFFINGER5.