希望转换后的值仍为54.我试过intval和int,都不行,转换后都变成int0了。

解决方案 »

  1.   

    <?php
    $str='54';
    var_dump($str);
    var_dump((int)$str);
      

  2.   

    这个我试过,不行的。主要是有一个变量,var_dump以后是string '54' (length=8),我很奇怪,它为什么length是8而不是2?
      

  3.   

    你这个string 是怎么来的   转编码再var_dump呢?
      

  4.   

    通过file_get_contents("http://xxxxx/xxxxx/get_people_count.php")得来的。怎么转编码呢?使用int么?那样的话就变成int0了
      

  5.   

    设 $s 为 var_dump以后是string '54' (length=8) 的变量echo base64_encode($s);
    贴出结果
      

  6.   

    估计是 bom头
    var_dump(substr($str, 6));
      

  7.   

    $s = base64_decode('77u/77u/NTU=');
    var_dump($s);print_r(unpack('H*', $s));
    string(8) "55"
    Array
    (
        [1] => efbbbfefbbbf3535
    )efbbbf 是 utf-8 编码文件的 BOM 头你的数据是抓取的吧?