php mysql的问题。我在mysql存的字段类型为int ,为什么在php 取出来变成string 类型。

兄弟们哪位知道,php mysql的问题。我在mysql存的字段类型为int ,为什么在php 取出来变成string 类型。?

如果不考虑在php 重新强制转换下该如何处理
也就是必须要强制转换?
最新回答
饮醉

2024-09-09 16:01:38

不用强制转换

因为php是弱类型
所以 就算是你认为是string类型的数据,当你需要它是int的时候,php就会把它处理成int。
举个例子吧

假如你mysql存了一个char类型的“10”
然后 赋给了$a;
再后 print($a+1);

结果会是11。

即是说php根本不在乎它是何种类型。

如果你希望得到101这种结果你应该写 print($a.'1');
蘇瑾熙

2024-09-09 15:02:59

php是不区分字段类型的,会自动转换。
mysql里的int数据在php程序中,看到的就是一串数字,你也可以当字符串使用。
如果要强制转回int,你在赋值前加(int),如$num = (int)$data['money']; 这样就可以了。不过要注意长度、小数等等哦。
玉容花见羞

2024-09-09 00:19:17

php 为弱类型语言...

如果需要强制转化 可以 $str = intval($str);