在PHP中将字符串转换为int

时间:2012-08-09 12:56:09

标签: php javascript

以下是我的代码片段,其中我将屏幕宽度分配给变量$width。但当我将其转换为整数并回显它时,会返回0

$width = '<script> document.write(window.screen.width); </script>';
//if i echo $width it shows 1366 which is width of my screen
$height = '<script> document.write(window.screen.height); </script>';
echo "The height is = $height"."<br>The width is = ".$width;
$a = (int)($width);
echo $a;

我要求指导这种转换完美。

4 个答案:

答案 0 :(得分:6)

您当时并未实际获得屏幕尺寸。这在客户端运行。您必须对服务器进行ajax调用才能进行设置。

答案 1 :(得分:1)

您无法使用javascript来回显PHP变量。直到PHP完成它所做的事情之后才会执行javascript。使用javascript可以做的最好的事情是重新获取数据,但这只能用于新的PHP脚本 - 而不是当前页面。

在脚本执行完毕之前,你当然不能指望数据会回来。

答案 2 :(得分:1)

这将是intval 但是你正在做的事情是不可能的,因为你无法将客户端数据从浏览器传递到没有$ _POST,$ _GET或者类似。

答案 3 :(得分:1)

你不需要parantheses。试试$a = (int) $width;$a = intval($width);

此外,您正在运行的代码没有任何意义。

$width = '<script> document.write(window.screen.width); </script>';

这只会将$width设置为包含HTML代码的字符串(内置JavaScript)。你无法轻易地将JavaScript代码的返回值提取到PHP变量中,这主要是因为在完成PHP后,JS部分是以方式执行的(PHP由服务器处理,生成的HTML (内置JS)发送到浏览器,浏览器负责执行JS)。为此,您需要AJAX