PHP 将整型以16进制形式“转换”为字符串

定义一个变量$a = 1998,然后其十六进制数值为7ce

现在想将$a直接(将表面上输出的形式)“转换”为形如字符串$string = "7ce"

请问该如何实现该功能。

假设实现该功能的函数为convert(),反向实现该功能的函数为reserve()

需求代码示例:

$a1 = 1998;
$str1 = convert($a1);//整型->字符串
$a2 = reserve($str1);//字符串->整型
echo $a1;
echo "<br>";
echo $str1;
echo "<br>";
echo $a2;

需求输出:

1998
7ce
1998

当前的想法:

使用取模获得每个位的十六进制数值,然后再一一映射到16进制字符串表获得字符串数组,最后再implode()

阅读 3.3k
2 个回答
echo dechexo(1998);
echo hexdec('7ce');
  1. 在使用hexdec()后使用(string)强制转换;

    $str = (string)hexdec("3e28dc3");
    echo var_dump($str);
  2. settype()函数

已更正:dechex()的返回类型为字符串(string),而hexdec()的返回值类型是整型(int)。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题