【发布时间】:2012-03-31 16:41:26
【问题描述】:
尽管我在使用(int) 和intval() 函数进行类型转换方面付出了所有努力。我仍然无法将字符串转换为整数。
每当我使用这些函数时,字符串都会转换为 0
这是我的代码 sn-p :
$resolution = "<script type='text/javascript'>
document.write('#'+screen.width+'#');</script >";
$screen=str_replace("#","",$resolution);
echo $wid = (int)$screen;
echo $s = 98 * $wid;
类型转换的输出为 0。
我什至尝试使用var_dump 打印数据,但它也显示为int(0)
【问题讨论】:
-
整个输入字符串中甚至没有一个整数,那么您希望它解析什么?
-
确实有一个字符串:“1280”我已经回显并测试了它。它需要当前的屏幕分辨率并给我。我用 var_dump 试了一下,它给了我字符串:“1280”,即我的屏幕宽度。
-
不,没有,PHP 不执行 javascript。您要转换的文字字符串是
<script type='text/javascript'>document.write(''+screen.width+'');</script >,没有数字... -
嗯..不,没有。在执行 screen.width 时会有,但是在 php 完成并将结果发送到客户端之后发生在客户端。你到底是在哪里呼应的?提供一个可运行的 sn-p,我可以将它复制粘贴到我的 php 解释器中,它会打印
1280或类似的东西。 -
@JigarTank 它没有。发生的事情是您将文字 Javascript 代码发送到浏览器,浏览器在收到它时执行它,但此时它已经超出了 PHP。您的调试环境在欺骗您:see what's actually happening 带有
text/plain视图。
标签: php javascript string int