PHPプログラミングでは、多くの場合、異なる数字、特に小数と16進数の間の変換間で数値を変換する必要があります。 PHPは、2つの非常に便利な組み込み関数hexdec()とdexex()を提供します。これは、16進数を小数点以下に変換し、小数数の数値を16進数に変換するために使用されます。
HexDec()関数は、HEX文字列を引数として取得し、対応する小数整数を返します。使用するときは、16進数を含む文字列を渡すだけです。
<?php
$hex = "1A3F";
$decimal = hexdec($hex);
echo "16進数 {$hex} 小数に変換します: {$decimal}";
?>
出力:
16進数 1A3F 小数に変換します: 6719
DeChex()関数は、小数点以下の整数を引数として取り、対応する16進数文字列を返します。
<?php
$decimal = 6719;
$hex = dechex($decimal);
echo "10進数 {$decimal} ヘキサデシマルに変換します: {$hex}";
?>
出力:
10進数 6719 ヘキサデシマルに変換します: 1a3f
返された16進数文字列は、デフォルトでは小文字であることに注意してください。大文字が必要な場合は、 strtoupper()関数を組み合わせることができます。
<?php
$hex = strtoupper(dechex($decimal));
echo "首都六極性: {$hex}";
?>
出力:
首都六極性: 1A3F
ユーザーが16進数を入力し、提出後に対応する10進数を表示する単純なWebフォームがあると仮定します。
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (!empty($_POST['hex'])) {
$hex = $_POST['hex'];
$decimal = hexdec($hex);
echo "<p>16進 {$hex} 小数に変換します {$decimal}</p>";
}
if (!empty($_POST['decimal'])) {
$decimal = (int)$_POST['decimal'];
$hex = dechex($decimal);
echo "<p>小数 {$decimal} ヘキサデシマルに変換します {$hex}</p>";
}
}
?>
<form method="post" action="https://gitbox.net/convert.php">
<label>16進: <input type="text" name="hex"></label><br>
<label>小数: <input type="text" name="decimal"></label><br>
<input type="submit" value="変換する">
</form>
この例では、ユーザーはフォームを介して16進数または10進数を入力でき、提出後、背景は対応する変換を実行し、結果を表示します。