百思不得其解:PHP数据类型字符串转整数型出错?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了百思不得其解:PHP数据类型字符串转整数型出错?相关的知识,希望对你有一定的参考价值。

<script type="text/javascript">
<!--
(screen.width + "*" + screen.height);
//-->
</script>
<?php $screenX= "<script>document.write(screen.width);</script>";?>

请问以上代码如何把screenX转化为整数型???用intval($screenX)得出“0”
根据“许亮”的答案仍未调试成功????

问题出在$screenX= "<script>document.write(screen.width);</script>"上,变量$screenX的值并不是执行JavaScript语句后的结果,如1024,你这样定义$screenX,是把字符串<script>document.write(screen.width);</script>赋给了$screenX,再用intval()函数来转换,当然得出了是0.

告诉你一种方法,把JavaScript得到的值写到cookie里,再通过PHP来拿这个cookie值,JavaScript的变量是不能直接赋值给PHP的。

例如:
<script>
document.cookie("screen",screen.width);
</script>

PHP里
<?php
$screen = $_COOKIE['screen'];
echo intval($screen);
?>
大概的思路是这样的。

=========================================================
昨天JavaScript写cookie的语法我写错了,我在公司调试了一下,下面的代码是没有问题的。首次进入页面时请刷新一下页面。
<script type="text/javascript">
var width = window.screen.width;
document.cookie="screen="+width;
</script>

<?php
$screen = $_COOKIE['screen'];
echo intval($screen);
?>
参考技术A 你想获取客户端的显示器分辨率 ?

换个方法实现吧

<script type="text/javascript">
document.write('<img src="screen.php?w='+window.screen.width+'&h='+window.screen.height+'"/>');
</script>
然后 screen.php 用 $_GET 就可以获取到了。
参考技术B 哈哈,根本不是代码问题, 是执行顺序问题
js 是前台代码,php是服务器程序

先运行完php程序输出到浏览器后,才执行js

所以你思路错了

php数据类型转换(转)

PHP数据类型转换

PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有:

?(int)、(integer):转换成整形 
?(float)、(double)、(real):转换成浮点型 
?(string):转换成字符串 
?(bool)、(boolean):转换成布尔类型 
?(array):转换成数组 
?(object):转换成对象 
PHP数据类型有三种转换方式:

?在要转换的变量之前加上用括号括起来的目标类型 
?使用3个具体类型的转换函数,intval()、floatval()、strval() 
?使用通用类型转换函数settype(mixed var,string type) 
 第一种转换方式: (int)  (bool)  (float)  (string)  (array) (object)

 
1.<?php    
2.$num1=3.14;    
3.$num2=(int)$num1;    
4.var_dump($num1); //输出float(3.14)    
5.var_dump($num2); //输出int(3)    
6.?>   
第二种转换方式:  intval()  floatval()  strval()

 
1.<?php    
2.$str="123.9abc";    
3.$int=intval($str);     //转换后数值:123    
4.$float=floatval($str); //转换后数值:123.9    
5.$str=strval($float);   //转换后字符串:"123.9"     
6.?>   
第三种转换方式:  settype();

 
1.<?php    
2.$num4=12.8;    
3.$flg=settype($num4,"int");    
4.var_dump($flg);  //输出bool(true)    
5.var_dump($num4); //输出int(12)    
6.?> 






























以上是关于百思不得其解:PHP数据类型字符串转整数型出错?的主要内容,如果未能解决你的问题,请参考以下文章

java中怎么判断一个double类型的数等于零如题

PHP当中如何将数组当中的字符串数据类型转化为数值类型?

PHP“罗马数字转整数”算法问题

字符串类型的变量num,如何转换成int类型的整数

基本数据类型

java中,当要处理的整数太大,超出了long的范围,应该用啥基本类型去处理,实现对这个数的加减法运算