使用ltrim;从我的用户输入的开头删除“ 0”

问题描述

|| 我要求用户输入1-9和a-f中的4个数字或字母。 然后,我将这些数字和字母取为“ 0”,并加上4个字节的值。 因此,如果用户输入
00FF
,则值将为
0000 0000 1111 1111
,因为
0000
0
的4个字节的值,而
1111
F
的4个字节的值。 我想从4字节值的总集合中除去任何前导ѭ7。 我尝试使用以下代码从一开始就摆脱了0 \。
$hexvalue2 = ltrim($hexvalue,\'0\');
echo $hexvalue2;
但是,这不起作用,据我所知,在看PHP.net时,这似乎是正确的,但显然不是。 谁能告诉我我要去哪里错了?或建议替代方案? 谢谢     

解决方法

        这有效:
<?
$h = 0x00001111;

$h = ltrim(dechex($h),\"0\");

echo $h;
?>
输出:
1111
注意ѭ11以获得字符串。     ,        我将修改将
00FF
转换为
0000 0000 1111 1111
的函数,以便在输入字符串的开头不出现0的情况下不添加
0000
<?php
function convert4byte($in) {
    $in = preg_replace(\'/^0+(.*)/\',\'$1\',$in);
    $out = \'\';
    $i = 0;
    do {
        $out .= sprintf(\'%04d\',decbin(hexdec($in[$i])));
        $i++;
    } while ($i < strlen($in) && $out .= \' \');
    return $out;
}
$str = \'00FF\';
echo convert4byte($str);
?>
http://codepad.org/eCmhOpAO     ,        这个对我有用:
$hexvalue = \'00001111\';
$hexvalue2 = ltrim($hexvalue,\'0\');
echo $hexvalue2;
//prints 1111
确保
$hexvalue
是字符串,而不是其他任何类型。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...