在PHP中将整数转换为十六进制值

时间:2011-04-12 01:22:24

标签: php

如何将PHP中第一个类中的数字转换为第二个类中的数字,是否有内置函数来转换数字?也是我的头衔“ 将整数转换为十六进制值“甚至更正?”

class Permission {
    const READ         = 1;
    const UPDATE       = 2;
    const DELETE       = 4;
    const COMMENT      = 8;
    const GRANT        = 16;
    const UNDELETE     = 32;
    const WHATEVER     = 64;
}

进入这个

class Permission {
    const READ     = 0x0001;
    const UPDATE   = 0x0002;
    const DELETE   = 0x0004;
    const COMMENT  = 0x0008;
    const GRANT    = 0x0010;
    const UNDELETE = 0x0020;
    const WHATEVER = 0x0040;
}

更新

详细说明我要做的事情。
 我目前使用带有位掩码类的第一个类进行设置  有人建议我改成第二节课的格式   但是我不知道他们是如何从我的第一堂课中的数字中得出 0x0020 样式编号的。

我现在看到如何从 32 获得 20 ,但我不知道他们在前面添加 0x00 的方式或原因使 0x0020 替换原来的 32

3 个答案:

答案 0 :(得分:4)

你想:

dechex()

http://php.net/manual/en/function.dechex.php

十进制到十六进制。

答案 1 :(得分:4)

您不能只输入十六进制数字吗?

尝试sprintf() / printf()即时转发它们:

printf('%x', 42); // 2a

答案 2 :(得分:3)

我在这里有点困惑...... 0x01 = 1。 0x020 = 32等

您是否在寻找printf / sprintf中提供的一些字符串格式化程序?您可以使用%x标记输出十六进制值。

编辑:此外,是的,您的转化是正确的。