Hexdec 은 육각 문자열을 10 진수 정수로 변환하는 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 진수를 쉽게 추출하고 변환 할 수있게합니다.