我如何将PHP变量的值赋给javascript变量

how do i assign value of php variable to javascript variable

本文关键字:变量 javascript PHP      更新时间:2023-09-26
<html>
<head>
 <?php
         $bldg_number=-1;
 ?>
                      <script language="javascript" type="text/javascript">
                      var bldg=<?php echo $bldg_number; ?>
                      if( bldg < 0)
                          {
                            alert("me");
                          }
                      else
                          {
                            alert("hi");
                          }
                    </script>

我期待输出一个警告消息我,但没有输出当我运行这个页面请告诉我为什么php变量的值不传递给javascript变量

您的代码在var行末尾需要一个分号(继续阅读原因):

<script language="javascript" type="text/javascript">
                      //               here --------------v
                      var bldg=<?php echo $bldg_number; ?>;
                      if( bldg < 0)
                          {
                            alert("me");
                          }
                      else
                          {
                            alert("hi");
                          }
                    </script>
JavaScript有一个名为"自动分号插入"的功能,通常会使该错误无害(功能是否无害是另一回事),但不幸的是,PHP搞混了它,因为ASI只在缺少分号的地方有换行符时才会启动,PHP吃了?>标签后面的换行符:

…当PHP遇到?>结束标记时,它只是开始输出它找到的任何内容(除了紧跟着的换行符-参见指令分隔)

所以实际输出到你的页面的是:

var bldg=-1    if( bldg < 0)

…这是JavaScript中的一个语法错误。添加分号修复它,因为这样输出是:

var bldg=-1;    if( bldg < 0)

Try with

var bldg=<?php echo $bldg_number; ?>;