Php,转换为十六进制整数



我的$_POST值包含css友好的十六进制颜色值,例如:#ffffff。为了使它对ColorJizz库友好,我应该使用十六进制整数值。下面的代码不起作用。如果我将$color_hex变量替换为硬编码值,例如:0xffffff,它可以工作。

include('colorjizz.php');   
$color_hex = '0x' . substr($_POST['color'], 1); 
$color = new Hex($color_hex);

这很可能是一个新手级别的问题,但是在我头撞到墙上好几个小时之后,我很感激任何建议。谢谢你。

"十六进制整数值"没有多大意义。十六进制是数字的表示形式(因此是字符串),而整数值是数字的机器格式。

如果你想要号码,快速谷歌搜索找到hexdec

$color = hexdec(substr($_POST['color'], 1));

它似乎忽略了前面的"垃圾",所以你甚至可以使用

$color = hexdec($_POST['color']);

如果你一个字符串包含一个数字的十六进制表示,你想把它作为一个整数,你必须从十六进制转换到十二月。

$dec = hexdec("ff0000");
http://php.net/hexdec

在PHP中,十六进制整数和十进制整数的数据类型是相同的;能够在源代码中键入0xDEAD只是语法糖。因此,您可以使用intval()将表单输入从字符串转换为普通的PHP整数:

$color_hex = intval(substr($_POST['color'], 1), 16);

最后一个参数16指定输入字符串为十六进制

相关内容

  • 没有找到相关文章

最新更新