我试图在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中也是如此。
任何人都有想法发生了什么?
克劳斯
答案 0 :(得分:0)
我建议不要使用演员。而是使用intval
它比铸造慢一点see benchmark,但根据我的经验更安全。
答案 1 :(得分:-1)
需要从ASCII重新转换为UTF-8。
以下作品:
$ tt =(int)mb_convert_encoding($ _ GET ['project_id'],'UTF-8');
克劳斯