PHP字符串到整数玩得不好,编码问题?

标签 php casting integer

我正在读取 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/

相关文章:

c# - 将字符串转换为枚举

javascript - TypeScript 接口(interface)向下转型

Java 整数到二进制转换器代码

java - 如何获取没有分隔符的 BigDecimal 的整数

php - 无法转义翻译消息中的点字符

php - XMLWriter 与 SimpleXML。哪个更快?

php - 我的更新查询有什么问题?

php - laravel eloquent orm插入查询自动生成创建于并更新于与数据库不一致

datetime - 如何在 BigQuery SQL 中捕获失败的 CAST 语句?

c - 用英语打印一个整数