【问题标题】:How to get a number from inside a script tag?如何从脚本标签中获取数字?
【发布时间】:2014-06-03 16:44:49
【问题描述】:

我有这个 php 变量:

$temp = '<script>document.write(sessionStorage.login_condetion);</script>';

当我回显$temp 的值时,它给了我一个数字,例如1,当我使用gettype 时,它告诉我$temp 的类型是字符串。我想在 if 子句中使用$temp 的值作为条件,但无论我如何更改它都不起作用,例如我尝试了以下所有情况:

if($temp == 1){}
if($temp === 1){}
if($temp == '1'){}
if($temp === '1'){}
if($temp == "1"){}
if($temp === "1"){}

我不知道为什么它在 if 子句中不起作用?可能是因为$temp&lt;scritp&gt; 标签吗?如果是我如何提取我想要的值作为数字?

PS:我尝试转换如下:

$temp1 = (int)$temp;

但是如果 $temp 的值是它给我一个零后它就不起作用了。

【问题讨论】:

  • 显示var_dump($temp)
  • @HaukurHaf 不,它会起作用的
  • 你不能像那样混合 php 和 JavaScript。请参阅做出相同错误假设的 50000 个其他问题。您需要 ajax 将数据从客户端传递回服务器。
  • “当我回显 $temp 的值时,它会给我一个数字,例如 1”——不,它没有。它是你设置的字符串。

标签: php string session-storage


【解决方案1】:

你的 $temp 变量只是一个普通的字符串。

但是当你在页面上回显它时,javascript引擎会评估它并将1添加到DOM中,所以看起来它的值是1 但实际上并非如此。

【讨论】:

  • 我知道,但我想让这个值成为真正的值,真正的1,而不仅仅是 JavaScript 引擎评估的结果
  • 你不应该在 php 中使用 javascript...在这种情况下你的想法很糟糕。例如,只需使用 Ajax 将数据发送到 PHP
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-13
  • 2020-06-18
  • 2015-10-06
  • 2019-11-30
  • 1970-01-01
  • 2016-07-24
相关资源
最近更新 更多