关于php读取js的变量值问题

来源:百度知道 编辑:UC知道 时间:2024/06/06 02:56:52
我的代码简单如下
<script>var um=10;</script>
<?php
$usermoneytemp="<script>if(um!=null)document.write(um);</script>"; echo $usermoneytemp;
if($usermoneytemp!="")
{
$usermoneynow=$usermoneytemp;
$usermoneynow=intval($usermoneynow);
echo $usermoneynow;
}
?>
得出echo $usermoneytemp;是10;
但是echo $usermoneynow;是0;不转换类型可以是10;为什么呢?这个10是什么类型呢?请教了,3Q.
那么为什么不可以转换呢,既然是string类型

$usermoneytemp="<script>if(um!=null)document.write(um);</script>"; 是一个字符串,浏览器会把这字符串显示为10,但是在PHP里面始终是个字符串,转换为数字就是0。

补充:
是的,string类型的常量"<script>if(um!=null)document.write(um);</script>"转换为整数结果为0,因为转换时候遇到非数字字符就终止,第一个<就是非数字的。

$usermoneytemp是个字符串,你查看一下网页源文件看一下

intval($usermoneynow)的值是0,因为字符串的值是0

10是浏览器,也就是客户端的javascript写的,document.write(um)这一句写的,你以为是PHP写的吗?

这是PHP把网页送到浏览器之后由javascript解释器写的,和PHP没有关系

看一下网页源文件