在javascript中增加php变量

时间:2016-08-13 09:29:45

标签: javascript php variables

我试图在javascript函数中增加一个php变量:

function border(){
  <?php $var_drafts_display=0; ?>;
  for(var i=0; i<5; i++)
     {
    <?php ++$var_drafts_display ; ?>;
     }
  var final_num='<?php  echo $var_drafts_display; ?>';
  alert(final_num);
  }

但是php变量只增加一次,即alert(final_num)显示1.我知道php是服务器端程序而javascript是客户端程序,这是php变量为什么没有增加的主要问题。此外,我无法弄清楚为什么它只会增加一次。

3 个答案:

答案 0 :(得分:6)

您正在尝试将服务器端代码(PHP)与JavaScript代码混合使用:

function border(){
  <?php $var_drafts_display=0; ?>;
  for(var i=0; i<5; i++)
     {
    <?php ++$var_drafts_display ; ?>;
     }
  var final_num='<?php  echo $var_drafts_display; ?>';
  alert(final_num);
  }

最终会变成这样:

function border(){
      ;
      for(var i=0; i<5; i++)
         {
        ;
         }
      var final_num='1';
      alert(final_num);
      }

只会提醒1。

你想做的事情如下:

function border(){
    var draftsToDisplay = <?php echo $var_drafts_display=0; ?>;
    for(var i=0; i<5; i++)
    {
        draftsToDisplay++;
    }
    alert(draftsToDisplay);
}

关于客户端/服务器代码与一些示例here之间的差异有一个很好的指南。

答案 1 :(得分:2)

这种行为是不可能的。你需要清楚地了解php和js是如何工作的。 PHP只是在服务器端编译网页html代码,然后将html代码传递给客户端。客户端的Web浏览器解析该代码,然后执行所有脚本。所以你的js机器会看到下一个代码:

function border(){
      for(var i=0; i<5; i++)
         {
         }
      var final_num='1';
      alert(final_num);
      }

答案 2 :(得分:0)

您是否在单个警报框中显示所有迭代,然后您可以执行此操作:

function border(){
  <?php $var_drafts_display=0; ?>;
   var final_num = 0;
   for(var i=0; i<5; i++){
    <?php $var_drafts_display++ ; ?>;
    final_num='<?php  echo $var_drafts_display; ?>';
    alert(final_num);
  } 
}