繁体   English   中英

为什么PHP变量不能与javascript循环一起使用?

[英]Why php variable cant work with javascript loop?

我希望该数字在每次警报时都会增加,但最终是相同的数字,即0。

我能知道为什么吗?

我需要执行此操作,因为在我的真实代码中,$ wow代表我从服务器检索的值,并且需要使用javascript for循环来计数我定位的数字元素。

我怎样才能做到这一点 ?

这是我的代码:

<html>
<head>
<script>
<?php $wow = 0; ?>
for(var i =0; i < 4; i++){
   alert("<?php echo $wow; ?>");
    <?php $wow++; ?>
    }
</script>
<body>
</body>
</html>

PHP在服务器端执行,JavaScript在客户端执行。

它的工作方式是这样的:

  1. 浏览器发出请求
  2. 服务器收到请求
  3. 服务器执行PHP
  4. 服务器发送响应/ HTML
  5. 浏览器收到响应/ HTML
  6. 浏览器解析HTML /执行JS。

只需在浏览器中查看文档源,其中就没有PHP,因为它已经被执行(在服务器上)。


相反,您可以做的是将PHP变量的值注入JavaScript源代码中,并使用JavaScript处理该值:

var wow = <?php echo $wow; ?>
for(var i =0; i < 4; i++){
  alert(wow);
  wow++;
}

也可以看看

这个怎么样:

<html>
<head>
<script>
<?php
    $wow = 0;
    while($wow < 4){
        echo "alert('" . $wow++ . "')";
    }
?>
</script>
<body>
</body>
</html>

php脚本根据@Felix Kling注释在服务器端执行。

不要在php中定义变量作为php脚本执行的服务器端,而不是像javscript的客户端

您需要更改..等脚本

var wow = <?php echo $wow; ?>

for(var i =0; i < 4; i++){
   alert("<?php echo wow; ?>");
    <?php echo wow++; ?>
    }

但是没有意义通过PHP脚本使用/创建变量

你可以简单地这样写

var wow = <?php echo $wow; ?>
    for(var i =0; i < 4; i++){
       alert(wow);
       wow++;
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM