我有这个字符串
0A
或者
A001
或者
AC000001
我需要最终格式,无论是1,2,3号还是6位数。
00-00-00-01
在PHP中有任何想法吗?
答案 0 :(得分:1)
您可以尝试这样的事情:
<?php
$hexstring = "0A";
//Pad string to correct lenght "0A" = "0000000A".
$hexstring = str_pad($hexstring, 8, "0", STR_PAD_LEFT);
//Split into groups of two. ["00","00","00","0A"].
$hexstring = str_split($hexstring, 2);
//Merge together with hyphens. "00-00-00-0A".
$hexstring = implode("-", $hexstring);
?>
此代码也可以简化为:
<?php
$hexstring = "0A";
$hexstring = implode("-", str_split(str_pad($hexstring, 8, "0", STR_PAD_LEFT), 2));
?>
此代码首先将传入的字符串填充到正确的长度。因此,无论字符串是1,2,3,4,5,6,7还是8个字符,它都将用零填充,以便恰好变为8个字符。
填充后,字符串将被分成两组,每组两个字符,然后连接在一起,连接在一起。