PHPのctype_xdigit()関数の使い方を徹底解説!16進数の判定方法
PHPのctype_xdigit()関数とは
PHPのctype_xdigit()関数は、文字列内のすべての文字が16進数の「数字」として有効かどうかをチェックする関数です。具体的には、10進数の数字(0〜9)または英字[A-Fa-f]のいずれかで構成されている場合にTRUEを返し、それ以外の場合はFALSEを返します。
この関数は、カラーコード(例:FF5733)やハッシュ値など、16進表記のデータを検証したい場面で特に役立ちます。ユーザー入力の妥当性チェックにも簡単に組み込めるため、実務でもよく使われています。
構文
ctype_xdigit(string $string): bool
パラメータ
str − 検査対象となる文字列を指定します。
戻り値
文字列内のすべての文字が16進数の「数字」、つまり10進数の数字または[A-Fa-f]のいずれかの文字である場合はTRUEを返し、それ以外の場合はFALSEを返します。
なお、空の文字列を渡した場合はFALSEが返される点に注意してください。
使用例
以下に、ctype_xdigit()関数を使用した具体例を示します。
<?php
$str = array('ABCD', 'AB768768ff');
foreach ($str as $a) {
if (ctype_xdigit($a)) {
echo "$a はすべて16進数の数字で構成されています。\n";
} else {
echo "$a には16進数以外の文字が含まれています。\n";
}
}
?>
出力結果
ABCD はすべて16進数の数字で構成されています。
AB768768ff はすべて16進数の数字で構成されています。
上記の例では、どちらの文字列も英大文字・小文字の[A-Fa-f]と数字だけで構成されているため、両方ともTRUEと判定されています。
まとめ
ctype_xdigit()関数を使えば、文字列が16進数として有効な文字のみで構成されているかどうかを1行で簡単に判定できます。カラーコードやハッシュ値の検証など、入力値の妥当性チェックが必要な場面でぜひ活用してみてください。
-
【PHP】ctype_cntrl()関数の使い方 – 制御文字の判定方法
ctype_cntrl()関数とはPHPのctype_cntrl()関数は、文字列に含まれるすべての文字が制御文字であるかどうかをチェックする関数です。現在のロケール設定に基づいて判定が行われ、すべての文字が制御文字であればTRUE、1つでも制御文字以外が含まれていればFALSEを返します。制御文字とは、改行(\n)、キャリッジリターン(\r)、タブ(\t)、エスケープ文字など、画面上に直接表示されない特殊な文字のことです。構文ctype_cntrl(str)パラメータstr − チェック対象の文字列を指定します。戻り値文字列内のすべての文字が現在のロケールにおける制御文
-
PHPのfgetc()関数とは?使い方とサンプルコードを解説
fgetc() 関数は、オープンされたファイルポインタから1文字を読み込むためのPHP組み込み関数です。ファイルの終端(EOF)に達した場合は false を返し、それ以外の場合は file_pointer が指すファイルから読み込んだ1文字を含む文字列を返します。 構文 fgetc(file_pointer) パラメータ file_pointer − 有効なファイルポインタである必要があります。fopen() または fsockopen() で正常にオープンされたファイル(fclose() によってまだクローズされていないもの)を指していなければなりません。 戻り値 fgetc() 関数