【PHP8.x】hexdec関数の使い方

作成日: 更新日:

hexdec関数は、16進数で表現された数値を10進数の数値に変換する関数です。コンピュータの分野では、色指定(例: #RRGGBB)やメモリのアドレス、データの識別子など、様々な場面で16進数が利用されます。しかし、人間が直接計算したり、一般的な算術処理に用いる際には、普段使い慣れている10進数の方が扱いやすいことがよくあります。

この関数は、変換したい16進数の値を文字列として引数に受け取ります。そして、その16進数文字列に対応する10進数の整数値を結果として返します。例えば、「FF」という16進数文字列を渡すと「255」が、「A」を渡すと「10」が返されます。

変換対象の文字列に16進数として無効な文字が含まれている場合でも、hexdec関数は文字列の先頭から有効な16進数として認識できる部分だけを変換します。例えば、「123XYZ」を渡すと「123」だけが変換され、「291」という10進数が返されます。

PHP 8では、非常に大きな16進数値を扱う際に、その値がPHPの整数型の最大値(通常は64ビット環境で約9✕10^18)を超えることがあります。このような場合、hexdec関数は自動的に浮動小数点数(float型)として値を返すため、大きな数値を扱う際には浮動小数点数特有の精度誤差に注意が必要です。システム開発において、外部システムからの16進数データを正確に処理し、それを10進数として利用する場面で、この関数は重要な役割を果たします。

基本的な使い方

構文(syntax)

<?php
echo hexdec("A0");
?>

引数(parameters)

string $hex_string

  • string $hex_string: 16進数形式の数値を表す文字列

戻り値(return)

int|float

16進数文字列を整数または浮動小数点数に変換した値を返します。

【PHP8.x】hexdec関数の使い方 | いっしー@Webエンジニア