【PHP】文字列を比較する関数の使い方
文字列関数 | 違い | 戻り値 |
---|---|---|
strcmp | 大文字と小文字の区別あり | 第1引数と第2引数を比較した結果、 等しい時、0 第1引数<第2引数の時、負の数 第1引数>第2引数の時、正の数 |
strcasecmp | 大文字と小文字の区別なし | |
strncmp | 比較する文字列の長さを指定可 |
strcmp関数の使い方(文字列を比較する)
php3~ で使用できます。
strcmp関数 : 書式
strcmp(文字列1,文字列2)
戻り値:文字列1が文字列2より小さい場合は負の数、大きい場合は正の数、等しい場合は0
戻り値:文字列1が文字列2より小さい場合は負の数、大きい場合は正の数、等しい場合は0
strcmp関数は文字列を比較します。
strcasecmp関数とは異なり大文字と小文字を区別して比較します。
strcmp関数 : 使用例
- 大文字と小文字を区別して比較するecho strcmp("ABC", "abc"); →「-1」を出力
echo strcmp("ABC", "ABC"); →「0」を出力
echo strcmp("ABCDEF", "ABC"); →「3」を出力
strcasecmp関数の使い方(文字列を大文字と小文字を区別せず比較する)
php3.0.2~ で使用できます。
strcasecmp関数 : 書式
strcasecmp(文字列1,文字列2)
戻り値:文字列1が文字列2より小さい場合は負の数、大きい場合は正の数、等しい場合は0
戻り値:文字列1が文字列2より小さい場合は負の数、大きい場合は正の数、等しい場合は0
strcasecmp関数は文字列を大文字と小文字の区別をせずに比較します。
strcasecmp関数 : 使用例
- 大文字と小文字を区別せず比較する$str = "ABC";
echo strcasecmp($str, "abc"); →「0」を出力
- 文字列が一致する場合は処理を実行するif ( strcasecmp($str, "A") == 0 ) {
<解説>
文字列が一致するか否かで条件分岐させたい場合は、大文字と小文字を区別しないことに注意が必要です。また、2つの文字列が等しいときは「1」ではなく「0」が返されます。
strncmp関数の使い方(指定した長さの文字列を比較する)
php4~ で使用できます。
strncmp関数 : 書式
strncmp(文字列1,文字列2,比較する文字数)
戻り値:文字列1が文字列2より小さい場合は負の数、大きい場合は正の数、等しい場合は0
戻り値:文字列1が文字列2より小さい場合は負の数、大きい場合は正の数、等しい場合は0
strncmp関数は文字列の先頭からn文字を比較します。大文字と小文字は区別されます。
strncmp("abc", "abcdef", 3) のような書式で、第3引数の文字数までが一致するか比較します。
strncmp関数 : 使用例
- 指定した長さの文字列を比較するecho strncmp("20200202", "20200222", 4); →「0」を出力
echo strncmp("abcde", "abc", 3); →「0」を出力
echo strncmp("ABCDEF", "abc", 3); →「-1」を出力
echo strncmp("A002", "A0011", 4); →「1」を出力
- OSに応じて処理を分岐するif ( strncmp(PHP_OS, "win", 3)) {
echo "Windowsです。"; →出力されます
}
関連リンク
PHPトップページ
PHP入門 & 関数リファレンス
PHPの初心者からベテランまで活用できるページです。初めての方はもちろん、もう一度基礎から学びなおしたい方は、基礎知識のページを順に読んで理解しましょう。ベテランの方向けには、関数の書式・パラメーターを調べられる構成になっています。PHPプログラム作成時にご活用下さい。