V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
jacy
V2EX  ›  问与答

求编写一段php代码,对php的数据类型还不太熟

  •  
  •   jacy · 2012-10-04 21:47:23 +08:00 · 2236 次点击
    这是一个创建于 4228 天前的主题,其中的信息可能已经有所发展或是发生改变。
    平常只会用到十进制的整型和字符串,现在要写个程序,用到了16进制,遇到了困难:
    把一个数字(比较长,整型不够)转换成16进制,然后从末尾开始每两位分割,把整个数字倒过来,然后在末尾加上0000,最后的结果是以每两位作为一个字符的字符串。
    比如一个数10153302696068,转换成16进制是93C00002084,最后我要的结果是 $str='\x84\x20\x00\x00\x3C\x09\x00\x00'
    谢谢哦
    1 条回复    1970-01-01 08:00:00 +08:00
    jacy
        1
    jacy  
    OP
       2012-10-04 23:42:57 +08:00
    好吧,没人回复,自己搞定了
    <?php
    $in = 10153302696068;
    $s1 = base_convert($in, 10, 16);
    $len = strlen($s1);
    $add = 16 - $len;
    $s2 = str_repeat('0', $add) . $s1;
    $s3 = str_split($s2, 2);
    $s4 = array_reverse($s3);
    foreach ($s4 as $s) {
    $str = $str.chr(dexhex($s));
    }
    echo $str;
    ?>
    刚开始用的dechex(),发现输出结果只有四位,后来查手册才知道有上限。php还是有很多函数不了解啊。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2221 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 06:46 · PVG 14:46 · LAX 23:46 · JFK 02:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.