有人知道请帮忙!
<script type="text/javascript" language="javascript">
var a = 3;
document.write("<?php funct1('"+a+"') ?>");
</script>
<?php
function funct1($param){
$param = preg_replace('/\s+/', ' ', $param);
echo intval($param);
}
?>
我曾经以同样的方式将js变量传递给php,它可以工作,但是我想要那个变量:(来自a的$ param)将它的值作为整数返回。每当我使用(int)$ param或intval($ param)然后它返回0.尝试preg_replace
替换空格,它仍然无法解决。
感谢您的帮助。
答案 0 :(得分:0)
您在JavaScript中定义了变量,并希望在PHP中使用它来传递回JavaScript document.write
?
这是错的。它没有那种方式。
如果需要将数据从JavaScript传递到PHP,可以通过ajax连接到php。或者,如果您想将数据从PHP传递到JavaScript,您可以
<?php $data = 'hello world' ?>
<script>
var data_from_php = <?php echo json_encode($data) ?>;
alert(data_from_php);
</script>
PHP解释器完成执行后,您将获得:
<script>
var data_from_php = "hello world";
alert(data_from_php);
</script>
我无法用两个词解释ajax你可以阅读这个答案:https://stackoverflow.com/a/6009208/1946607
答案 1 :(得分:0)
你不能像你的代码那样使用javascript和php。
当客户端请求页面时;在此之后解释的第一个PHP代码,解释的代码(html文本)发送客户端浏览器与其他HTML和JavaScript文本。
你必须使用ajax将javascript值发送到另一个php文件。
最诚挚的问候。
答案 2 :(得分:0)
你根本无法对PHP中的Javascript
变量做任何事情。只需尝试添加1并返回
结果,你将得到0.即使你返回$param
,你会看到有:(按Ctrl + U)
var a = 3;
document.write(""+a+"");
返回值本身并且没有PHP代码发生!您需要通过ajax