hexdec
hexdec($retezec)
Převede číslo zapsané v šestnáctkové soustavě na běžné číslo. Na velikosti písmen nezáleží.
Parametry
- $retezec – šestnáctkový zápis čísla.
Příklady
echo hexdec("ff"); // 255
echo hexdec("FF"); // 255
echo hexdec("1000"); // 4096
// výsledek je číslo
var_dump(hexdec("a")); // int(10)
// složky barvy z CSS zápisu – znak # nejdřív odstranit
$barva = ltrim("#ff6600", "#");
echo hexdec(substr($barva, 0, 2)) . ", " . hexdec(substr($barva, 2, 2)) . ", " . hexdec(substr($barva, 4, 2)); // 255, 102, 0
// totéž přes sscanf
print_r(sscanf("#ff6600", "#%2x%2x%2x")); // Array ( [0] => 255 [1] => 102 [2] => 0 )
// šestnáctkové číslo jde zapsat i přímo v kódu
echo 0xff; // 255
// zápis delší než rozsah celého čísla vrátí desetinné číslo
var_dump(is_float(hexdec("ffffffffffffffff"))); // bool(true)
Na co si dát pozor
- Znaky, které do šestnáctkové soustavy nepatří (třeba # nebo mezeru), přeskočí. Do PHP 7.3 mlčky, od PHP 7.4 s hlášením o zastaralém zápisu. Vstup proto nejdřív očistěte a ověřte přes ctype_xdigit().
- Vstup bere jako číslo bez znaménka. Zápis záporného čísla z dechex() vrátí jako velké kladné desetinné číslo.
- Pro zápis delší než rozsah celého čísla vrací desetinné číslo s omezenou přesností.
- Převod šestnáctkového zápisu na bajty dělá hex2bin(), ne hexdec.
Příbuzné funkce:
dechex()
bindec()
base_convert()