我正在读取 CSV 文件(采用 UTF-8 编码)。其中一个值是一个数字,当我尝试将其转换为整数以便我可以进行一些计算时,它只是被设置为零。我究竟做错了什么?
var_dump ( $row3[_MM_Impressions] );
//writes: string(5) "59"
$imps = (int)$row3[_MM_Impressions];
var_dump($imps);
//writes: int(0)
$imps = $row3[_MM_Impressions]*1;
var_dump($imps);
//writes: int(0)
$imps = intval($row3[_MM_Impressions]);
var_dump($imps);
//writes: int(0)
最佳答案
你的变量中有十六进制字符串号...那么为什么不使用 hexdec ?
Returns the decimal equivalent of the hexadecimal number represented by the hex_string argument. hexdec() converts a hexadecimal string to a decimal number.
hexdec() will ignore any non-hexadecimal characters it encounters.
关于PHP字符串到整数玩得不好,编码问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13757765/