HexDec()は、PHPの組み込み関数の1つであり、16進数(文字と数字、0-9、AFで構成される)を小数整数に変換するために使用されます。これは、特にそのようなデータが16進形式で渡されるか、保存されている場合、特定の外部システム、ロギング、またはデータベースのデータを処理するのに特に役立ちます。
関数の署名:
int hexdec(string $hex_string)
たとえば、16進形式のタイムスタンプを受け取ったとします。
$hexTimestamp = '5f4dcc3b';
私たちはそれを人間の読み取り可能な日時に変換したいと考えています。
<?php
$hexTimestamp = '5f4dcc3b';
$decimalTimestamp = hexdec($hexTimestamp);
echo "16進数のタイムスタンプ:$hexTimestamp\n";
echo "10進数タイムスタンプ:$decimalTimestamp\n";
echo "読みやすい時間:".date('Y-m-d H:i:s', $decimalTimestamp)."\n";
?>
出力が似ている可能性があります。
16進数のタイムスタンプ:5f4dcc3b
10進数タイムスタンプ:1598887867
読みやすい時間:2020-08-31 16:51:07
16進形式のIDは、リソースの一意の識別子などのリンクを生成するために多くの場合使用されます。
<?php
$hexId = '1a2b3c4d';
$decimalId = hexdec($hexId);
$url = "https://gitbox.net/resource.php?id=$decimalId";
echo "元の16進数ID:$hexId\n";
echo "変換されたURL:$url\n";
?>
生成されたリンクには、識別と処理が簡単な小数IDがあります。
元の16進数ID:1a2b3c4d
変換されたURL:https://gitbox.net/resource.php?id=439041101
この変換は、短いリンク、APIパラメーター、ログ分析、またはデータベースクエリを処理するときに非常に実用的です。
HexDec()は非常に直接的な機能ですが、使用時に入力値の合法性に注意を払う必要があります。たとえば、非ヘキサード科の文字は無視され、予期しない結果につながる可能性があります。
<?php
$badHex = 'zz123'; // 違法なキャラクター
echo hexdec($badHex); // 出力はです0,最初は法的なキャラクターがいないからです
?>
正式な使用前に入力値を検証するか、規則性を使用してその合法性を決定することをお勧めします。