Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中将字符串转换为int_Php_Javascript - Fatal编程技术网

在PHP中将字符串转换为int

在PHP中将字符串转换为int,php,javascript,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);

下面是我将屏幕宽度分配给变量
$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;
$width='document.write(window.screen.width);';
//如果我回显$width,它会显示1366,这是我屏幕的宽度
$height='document.write(window.screen.height);';
echo“高度为=$height”。
宽度为=”..$width; $a=(int)($width); echo$a;

我请求guidenance将此转换完善。

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

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

您不能使用javascript来回显PHP变量。直到PHP长时间完成它所做的事情,javascript才会执行。使用javascript所能做的最好的事情就是使用ajax将数据返回,但这只能在新的PHP脚本中使用,而不能在当前页面中使用


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

您不能使用javascript来回显PHP变量。直到PHP长时间完成它所做的事情,javascript才会执行。使用javascript所能做的最好的事情就是使用ajax将数据返回,但这只能在新的PHP脚本中使用,而不能在当前页面中使用


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

这可能是,但是您所做的是不可能的,因为如果没有$\u POST,$\u GET,或者类似的。

这将是但是您所做的是不可能的,因为如果没有$\u POST、$\u GET或类似的东西,您无法将客户端数据从浏览器传递到php脚本。

您不需要这些。试试
$a=(int)$width
$a=intval($width)

而且,您正在运行的代码没有任何意义

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

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

你不需要妄想症。试试
$a=(int)$width
$a=intval($width)

而且,您正在运行的代码没有任何意义

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

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

您这样做的方式是错误的,round-JS是在客户机上执行的,而不是在PHP上执行的。您只是将脚本字符串分配给
$width
,当转换为整数时,它是0.LOL,这里有太多的“错误”。PHP和Javascript在不同的时间和地点执行。PHP=Server,Javascript=Clienthope您将服务器端脚本和客户端脚本混为一谈。您正在尝试将字符串类型转换为整数,而字符串不是数字。@used2我是否太同意您的第一句话,这是健康的
:P
。您可以尝试jquery ajax,这样做更容易-JS在客户端执行,而不是在PHP上执行。您只是将脚本字符串分配给
$width
,当转换为整数时,它是0.LOL,这里有太多的“错误”。PHP和Javascript在不同的时间和地点执行。PHP=Server,Javascript=Clienthope您将服务器端脚本和客户端脚本混为一谈。您正在尝试将字符串类型转换为整数,而字符串不是数字。@used2我是否太同意您的第一句话,这是健康的
:P
。您可以尝试jquery ajax,有没有通过PHP获得屏幕宽度的方法更容易?@softgenic no.PHP是服务器端的。您可以在第一次运行时设置cookie(或使用会话),然后PHP就可以访问它了。因此,如果没有cookie,请运行代码的JS部分并刷新页面。当它刷新时,您将在cookie中设置熨平板宽度,JS部分将被跳过,页面将正常加载。有没有办法通过PHP获得屏幕宽度?@softgenic no.PHP是服务器端的。您可以在第一次运行时设置cookie(或使用会话),然后PHP将访问它。因此,如果没有cookie,请运行代码的JS部分并刷新页面。当它刷新时,您将在cookie中获得熨平板宽度,JS部分将被跳过,页面将正常加载。