无法在PHP中将字符串转换为整数

时间:2012-03-15 07:00:57

标签: php javascript string int

尽管我使用(int)intval()函数进行了类型转换所做的所有努力。我仍然无法将字符串转换为整数 每当我使用这些函数时,字符串都会转换为0
这是我的代码片段:

$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)

1 个答案:

答案 0 :(得分:5)

你的逻辑存在缺陷。
您正在混合服务器和客户端代码。

服务器生成代码(php),然后将结果传递给客户端。 然后,客户端接收生成的结果并解析javascript。

<?php
// this is server code, resolution will be just a string to the server
$resolution = "<script type='text/javascript'> document.write('#'+screen.width+'#');</script>";
// you are now removing the # from the above string but keeping it all intact
$screen=str_replace("#","",$resolution);
// converting it to int returns a stupid value (zero?)
echo $wid = (int)$screen;
echo $s = 98 * $wid;
?>