var_dump($val)结果竟然是4个长度,但是看到的就是6,什么问题引发的?string(4) "6"而且if($val=="6")这个也是false

解决方案 »

  1.   

    本帖最后由 xuzuning 于 2010-06-03 14:57:18 编辑
      

  2.   

    也许有空格,你trim一下在输出看看
      

  3.   

    空格是没有的,但是 var_dump($var[0]) 的时候出现 ? 这样的乱码[0][1][2]里面不知道是隐藏了什么,文件都是无BOM的UTF-8,浏览器怎么改编码方式都有,在我本机是好的,服务器上就不行。
      

  4.   

    echo base64_encode($var);
    贴出结果
      

  5.   

    本帖最后由 xuzuning 于 2010-06-03 15:58:21 编辑
      

  6.   

    还就是utf-8 bom头print_r(unpack('H*',base64_decode('77u/Ng==')));//efbbbf就是bom
      

  7.   

    顺便贴一段代码吧function removeBom($str){
    if(strlen($str)>=3){
    $char[0] = substr($str, 0, 1);
    $char[1] = substr($str, 1, 1);
    $char[2] = substr($str, 2, 1);
    if(ord($char[0])==239 && ord($char[1])==187 && ord($char[2])==191){
    $str = substr($str, 3);
    }
    }
    return $str;
    }