$ GET ['id']是19,(int)$ GET ['id']是0 ???在Internet Explorer 11中

时间:2014-01-20 22:43:17

标签: php internet-explorer casting get

我试图在Internet Explorer 11(仅)中将GET变量强制转换为int而没有成功

网址...& project_id = 19

$ tt = $ _GET ['project_id'];在调试器中是19,正如预期的那样

$ tt =(int)$ _GET ['project_id'];是0

strlen($ tt)是2

mb_str_encoding($ tt)是ASCII

在FF中,类型转换工作正常,在旧的Internet Explorer中也是如此。

任何人都有想法发生了什么?

克劳斯

2 个答案:

答案 0 :(得分:0)

我建议不要使用演员。而是使用intval 它比铸造慢一点see benchmark,但根据我的经验更安全。

答案 1 :(得分:-1)

需要从ASCII重新转换为UTF-8。

以下作品:

$ tt =(int)mb_convert_encoding($ _ GET ['project_id'],'UTF-8');

克劳斯