php,转换为十六进制整数

我的
$_POST
值包含css友好的十六进制颜色值,例如:
#ffffff
。为了使其对ColorJizz库友好,我应该将其设置为十六进制整数值。下面的代码不起作用。如果我用硬编码值替换
$color_hex
变量,例如:
0xffffff
,它将起作用。
include(\'colorjizz.php\');   
$color_hex = \'0x\' . substr($_POST[\'color\'], 1); 
$color = new Hex($color_hex);
这很可能是一个非常菜鸟级的问题,但是在将我的脑袋砸了好几个小时之后,我将不胜感激。谢谢。     
已邀请:
\“十六进制整数值\”没有多大意义。十六进制表示数字(因此是字符串),而整数表示数字的机器格式。 如果您想输入数字,可以通过Google进行快速搜索
hexdec
$color = hexdec(substr($_POST[\'color\'], 1));
它似乎忽略了开头的“垃圾”,因此您甚至可以使用
$color = hexdec($_POST[\'color\']);
    
如果您有一个包含数字的十六进制表示形式的字符串,并且想要将其作为整数,则必须从十六进制转换为dec。如果我的问题正确的话。
$dec = hexdec(\"ff0000\");
http://php.net/hexdec     
在PHP中,十六进制整数和十进制整数的数据类型相同。能够在源代码中键入“ 9”只是语法糖。因此,您可以使用“ 10”将表单输入从字符串转换为普通的PHP整数:
$color_hex = intval(substr($_POST[\'color\'], 1), 16);
最后一个参数
16
指定输入字符串为十六进制。     

要回复问题请先登录注册