$a=(integer)dechex(ord($str1));$a=ord($str1);就可以了

解决方案 »

  1.   

    你们最好测试一下啊,大哥们
    $a=ord($str1)
    得到的是字符串E6
    怎么给他转换成16进制的数字
    0xE6
    $a=(integer)dechex(ord($str1));
    转化下来全是0
      

  2.   

    你自己测试过没有
    ord取得的是数字
    数字是无所谓10进制或16进制的
    这只是写法的差别
      

  3.   

    $str="大家好";
    $length=strlen($str);
    for($i=0;$i<$length;$i++)
    {
    $str1 = substr($str,$i,1);
    $a = dechex(ord($str1));
             $cur_count .= "chr(0x$a)";
    }
    echo $cur_count;//out chr(0xb4)chr(0xf3)chr(0xbc)chr(0xd2)chr(0xba)chr(0xc3)
    在 $a=(integer)dechex(ord($str1)); 中
    dechex函数返回的是串
    (integer)强制转换为数
    那么一个串转换成数会得到什么呢?多半是“0”吧?