PHP,Triming领先0s问题

时间:2011-06-30 21:32:43

标签: php trim

所以这就是问题所在 我从输入字段中获取十六进制数字 它可能看起来像这样 FFFF,000CA3,等等等等 虽然修剪它们很容易 $ var = ltrim('0',$ var);

我的问题是用户输入'0000'等等 它将整个字符串修剪为空。 在修剪结果检查字符串变为空之后,我当然可以对此进行if语句,如果是,则添加0。 但有没有其他巧妙的技巧可以在一个声明中解决这个问题? 非常感谢你提前。

1 个答案:

答案 0 :(得分:5)

这是我能想到的:

$var = dechex(hexdec($var));

hexdec()将字符串转换为实际的数值,因此任何无关紧要的零都只是 - 无关紧要。一旦删除了零,dechex()就会将它们转换回字符串。

如果由于某些奇怪的原因需要大写的十六进制A-F数字,只需加strtoupper()调用,因为dechex()会生成小写的十六进制数字:

$var = strtoupper(dechex(hexdec($var)));