1

以下是我将屏幕宽度分配给 variable 的一段代码$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

4 回答 4

5

那时您实际上并没有获得屏幕尺寸。在客户端上运行。您将不得不对服务器进行 ajax 调用来设置它。

于 2012-08-09T12:57:51.887 回答
1

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

您当然不能指望在脚本完成执行之前返回数据。

于 2012-08-09T12:57:58.257 回答
1

这将是intval 您正在做的事情是不可能的,因为您无法在没有 $_POST、$_GET 或类似的情况下将客户端数据从浏览器传递到 php 脚本。

于 2012-08-09T12:59:44.337 回答
1

你不需要花括号。尝试$a = (int) $width;$a = intval($width);

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

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

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

于 2012-08-09T12:59:53.620 回答