大家好我试过搜索了一下,但没有找到任何能帮助我的东西,请帮助我这是最后一件事,这将有助于我的程序验证系统开始我正在尝试扫描用户基本ID,现在存储BaseID在我的数据库中,我通过sql获取它,并从那里从我的程序(在Lua中制作)读取问题是我不能直接扫描它的4byte格式的BaseID,并给出太多的结果,如果我以十六进制形式转换它很好,我想在服务器上使用PHP将其转换为十六进制格式,所以一旦它获取它以十六进制转换,所以我需要帮助转换脚本我无法做到atm我使用
$BaseID = ''
$BaseIDHex = dechex($BaseID);
{
echo $BaseIDHex;
}
它做了我需要的部分
假设我的BaseID为1234567890
,它会将输出显示为:499602D2
但是我希望它以这种形式出现:D2 02 96 49
(倒置且间隔空间)
更新:同一个新问题
$BaseID = '';
$BaseID = $row1['field_12'];
$Addition = ' 00 00 00 00 00 00 00 00 00"';
$BaseIDHex = dechex($BaseID);
$result = '';
while(strlen($BaseIDHex) >=2){
$result = strtoupper($result.substr($BaseIDHex, -2))." ";
$BaseIDHex = substr($BaseIDHex, 0, strlen($BaseIDHex)-2);
}
echo 'check = "';
echo trim($result);
echo $Addition;
它使我check = "B9 09 EE 00 00 00 00 00 00 00 00 00"
它完美地工作现在我想在上面的代码中进行一些更改$ BaseID是1 no。 15600057
但有时我有多个id存储在db中,如15600057,12600057
,我知道如何将它们转换为hexstring并以上述代码中显示的相同方式回显它们?所以它像这样回应最终结果
check = "B9 09 EE 00 00 00 00 00 00 00 00 00"
check1 = "C9 56 fe 00 00 00 00 00 00 00 00 00"
??
答案 0 :(得分:1)
这样做..
$BaseID = '1234567890';
$BaseIDHex = dechex($BaseID);
echo $v = implode(' ',array_reverse(explode(' ',strtoupper(wordwrap($BaseIDHex, 2, " ", true)))));
答案 1 :(得分:0)
@Shankar Damodaran的代码看起来更干净(+1)但我还是想发布我的版本
$BaseID = '1234567890';
$BaseIDHex = dechex($BaseID);
$result = '';
while(strlen($BaseIDHex) >=2){
$result = strtoupper($result.substr($BaseIDHex, -2))." ";
$BaseIDHex = substr($BaseIDHex, 0, strlen($BaseIDHex)-2);
}
echo trim($result);