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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于php读取js的变量值问题相关的知识,希望对你有一定的参考价值。

我的代码简单如下
<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,因为转换时候遇到非数字字符就终止,第一个<就是非数字的。
参考技术A $usermoneytemp是个字符串,你查看一下网页源文件看一下

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

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

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

看一下网页源文件

jsp页面如何获js中if语句的变量值

首先
你定义的dataName这个字符串是在if判断语句之中,而你输出的时候却在if之外去了
所以找不到该值
你可以在if之前先定义这个dataName
=
“”;
然后再后面就可以输出了
Like
this:
<%
String
dataName
=
“”;
if(1==1)

dataName
=
"abc";

%>
<%=dataName
%>
用等号输出时
不需要再有
引号
参考技术A jsp页面中在java语句里面要想获取js的变量的值,你可以试试使用request对象

以上是关于关于php读取js的变量值问题的主要内容,如果未能解决你的问题,请参考以下文章

“切换”和“如果”条件没有检查我在 PHP 上的变量值 [重复]

PHP Carbon 类改变了我原来的变量值

freemarker如何读取js变量

读取环境Jmeter中的变量值

php怎么获取当前页面 javascript的变量值

js如何实现将一个通过计算出来的变量值,不刷新页面就可以将变量值显示在同一页面的文本框中?