HexDecは、ヘックス弦を小桁整数に変換するPHP組み込み関数です。
int hexdec ( string $hex_string )
例えば:
echo hexdec("1A"); // 出力 26
substrは、文字列の指定された位置と長さのサブストリングを傍受するために使用されます。
string substr ( string $string , int $start [, int $length ] )
例えば:
echo substr("abcdef", 1, 3); // 出力 "bcd"
次のような他の文字と混合したいくつかの16進数を含む文字列があるとします。
$data = "id=abc1234fxyz";
私たちの目標は、この文字列から「1234F」部分を抽出し(その位置がわかっていると仮定)、小数点以下の数値に変換することです。
実装方法は次のとおりです。
<?php
$data = "id=abc1234fxyz";
// 文字列から6文字から始めます,インターセプト5文字(今すぐ "1234f")
$hexString = substr($data, 5, 5);
// 将インターセプト的16進に関する文字列转换为十进制数字
$decimalValue = hexdec($hexString);
echo "16進に関する文字列: " . $hexString . "\n";
echo "変換された小数値: " . $decimalValue . "\n";
?>
出力:
16進に関する文字列: 1234f
変換された小数値: 74575
16進に関する文字列が固定位置にない場合は、文字列検索関数strposを使用してそれを見つけてから、 substrでインターセプトできます。
例えば:
<?php
$data = "user=xyz&code=1a2b3c&status=ok";
// 現れる "code=" 文字列の位置
$pos = strpos($data, "code=");
if ($pos !== false) {
// "code=" 16進数の開始位置
$start = $pos + strlen("code=");
// 16進数の長さがあると仮定します6
$hexString = substr($data, $start, 6);
$decimalValue = hexdec($hexString);
echo "提取的16進に関する文字列: " . $hexString . "\n";
echo "変換された小数値: " . $decimalValue . "\n";
} else {
echo "未現れる指定的16進に関する文字列。\n";
}
?>
出力:
提取的16進に関する文字列: 1a2b3c
変換された小数値: 1715004
substrは、文字列の指定された部分を傍受するために使用されます。
HexDecは、16進ストリングを小数値に変換します。
2つの組み合わせにより、文字列に埋め込まれた16進数を簡単に抽出および変換できます。