【PHP8.x】ctype_xdigit関数の使い方
作成日: 更新日:
ctype_xdigit関数は、指定された文字列がすべて16進数の数字で構成されているかどうかを判定する関数です。16進数の数字とは、10進数で使われる'0'から'9'までの数字に加え、'a'から'f'まで、または大文字の'A'から'F'までのアルファベットを指します。この関数は、引数として検証したい文字列を一つ受け取ります。もし、その文字列内のすべての文字がこれらの16進数の数字である場合、関数は真(true
)を返します。反対に、文字列内に一つでも16進数の数字ではない文字(例えば、'g'や'z'、記号など)が含まれている場合、関数は偽(false
)を返します。
具体的な利用シーンとしては、例えばプログラム内で色コードやMACアドレス、ハッシュ値など、16進数で表現されるデータを扱う際に、その書式が正しいかを検証したい場合に非常に役立ちます。ユーザーからの入力データが意図しない文字を含んでいないかを確認し、データの整合性を保つためにも使われます。なお、空の文字列を引数として渡した場合、この関数はfalse
を返します。PHP 8.1以降では、文字列型以外の値を引数として渡すことは非推奨となっており、PHP 8.4環境では、意図しない挙動を防ぐためにも、常に文字列型の引数を渡すことを推奨いたします。正確かつ安全なコードを書く上で、このような文字種判定関数は重要な役割を果たします。
基本的な使い方
構文(syntax)
<?php
$text_string = "0123456789ABCDEFabcdef";
$is_hexadecimal = ctype_xdigit($text_string);
?>
引数(parameters)
mixed $text
- mixed $text: 16進数文字かどうかをチェックする文字列
戻り値(return)
bool
引数で渡された文字列の全ての文字が16進数文字(0-9, a-f, A-F)である場合に true
を返します。それ以外の場合は false
を返します。