ctype_upper/ctype_lower関数とは?
PHPのctype_upper/ctype_lower関数は、文字列に含まれる文字が大文字かどうか、または小文字かどうかを判別する関数です。
ctype_upper/ctype_lower関数の概要
ctype_upper関数は、引数に指定された文字列に大文字のみが含まれているかどうかを確認します。
ctype_lower関数は、小文字だけでなく、小文字のみが含まれているかどうかを確認します。
いずれの関数も、引数に指定された文字列が空文字列の場合、または文字列の長さが0の場合、TRUEを返します。
ctype_upper/ctype_lower関数の書き方
ctype_upper/ctype_lower関数の書き方は、以下の通りです。
PHP
bool ctype_upper(string $text);
bool ctype_lower(string $text);
引数 $text
には、判別したい文字列を指定します。
ctype_upper/ctype_lower関数の作成・使用方法
ctype_upper/ctype_lower関数を使用するには、以下のように記述します。
PHP
$text = "Hello, world!";
if (ctype_upper($text)) {
echo "文字列はすべて大文字で構成されています。";
} else {
echo "文字列に大文字以外の文字が含まれています。";
}
このコードは、文字列 $text
がすべて大文字で構成されているかどうかを確認します。
もしすべて大文字で構成されていれば、文字列はすべて大文字で構成されています。
と出力されます。そうでなければ、文字列に大文字以外の文字が含まれています。
と出力されます。
ctype_upper/ctype_lower関数のスクリプトサンプル
ctype_upper/ctype_lower関数のスクリプトサンプルを以下に示します。
PHP
// 大文字のみで構成された文字列
$text1 = "HELLO, WORLD!";
// 大文字と小文字で構成された文字列
$text2 = "Hello, world!";
// 大文字以外の文字を含む文字列
$text3 = "あいうえおHello, world!";
// すべて大文字で構成されているかどうかを判定
if (ctype_upper($text1)) {
echo "文字列1はすべて大文字で構成されています。";
} else {
echo "文字列1に大文字以外の文字が含まれています。";
}
// 大文字と小文字で構成されているかどうかを判定
if (ctype_upper($text2)) {
echo "文字列2はすべて大文字で構成されています。";
} else {
echo "文字列2に大文字以外の文字が含まれています。";
}
// 大文字以外の文字を含むかどうかを判定
if (!ctype_upper($text3)) {
echo "文字列3はすべて大文字で構成されています。";
} else {
echo "文字列3に大文字以外の文字が含まれています。";
}
このコードの出力は、以下の通りです。
文字列1はすべて大文字で構成されています。
文字列2に大文字以外の文字が含まれています。
文字列3はすべて大文字で構成されていません。
ctype_upper/ctype_lower関数特有の事柄・注意点
ctype_upper/ctype_lower関数は、ASCIIコードの範囲内の文字のみを判別します。
例えば、Unicode文字列を判別する場合は、mb_ctype_upper/mb_ctype_lower関数を使用する必要があります。
ctype_upper/ctype_lower関数のまとめ
ctype_upper/ctype_lower関数は、文字列に含まれる文字が大文字かどうか、または小文字かどうかを判別する関数です。
ASCIIコードの範囲内の文字のみを判別するため、Unicode文字列を判別する場合は、mb_ctype_upper/mb_ctype_lower関数を使用する必要があります。
初心者向けの補足説明
ctype_upper/ctype_lower関数を使用する際は、以下の点に注意しましょう。
- 引数に指定する文字列は、必ず文字列型でなければなりません。
- 引数に指定する文字列が空文字列の場合、または文字列の長さが0の場合、TRUEを返します。
- 引数に指定する文字列に大文字以外の文字が含まれている場合、FALSEを返します。
また、ctype_upper/ctype_lower関数は、ASCIIコードの範囲内の文字のみを判別するため、Unicode文字列を判別する場合は、mb_ctype_upper/mb_ctype_lower関数を使用する必要があります。
mb_ctype_upper/mb_ctype_lower関数は、引数に指定した文字列がUnicode文字列である場合、その文字列に含まれる文字が大文字かどうか、または小文字かどうかを判別します。
mb_ctype_upper/mb_ctype_lower関数の書き方は、以下の通りです。
PHP
bool mb_ctype_upper(string $text);
bool mb_ctype_lower(string $text);
引数 $text
には、判別したい文字列を指定します。
mb_ctype_upper/mb_ctype_lower関数を使用する際は、以下の点に注意しましょう。
- 引数に指定する文字列は、必ず文字列型でなければなりません。
- 引数に指定する文字列が空文字列の場合、または文字列の長さが0の場合、FALSEを返します。
- 引数に指定する文字列に大文字以外の文字が含まれている場合、FALSEを返します。
例えば、以下のコードは、Unicode文字列を判別するサンプルです。
PHP
// 大文字のみで構成されたUnicode文字列
$text1 = "こんにちは、世界!";
// 大文字と小文字で構成されたUnicode文字列
$text2 = "Hello, world!";
// 大文字以外の文字を含むUnicode文字列
$text3 = "あいうえおこんにちは、世界!";
// すべて大文字で構成されているかどうかを判定
if (mb_ctype_upper($text1)) {
echo "文字列1はすべて大文字で構成されています。";
} else {
echo "文字列1に大文字以外の文字が含まれています。";
}
// 大文字と小文字で構成されているかどうかを判定
if (mb_ctype_upper($text2)) {
echo "文字列2はすべて大文字で構成されています。";
} else {
echo "文字列2に大文字以外の文字が含まれています。";
}
// 大文字以外の文字を含むかどうかを判定
if (!mb_ctype_upper($text3)) {
echo "文字列3はすべて大文字で構成されていません。";
} else {
echo "文字列3に大文字以外の文字が含まれています。";
}
このコードの出力は、以下の通りです。
文字列1はすべて大文字で構成されています。
文字列2に大文字以外の文字が含まれています。
文字列3はすべて大文字で構成されていません。