【问题标题】:Pass PHP array into Javascript array [duplicate]将PHP数组传递给Javascript数组[重复]
【发布时间】:2012-04-19 01:58:22
【问题描述】:

参考标题。我有一个这样编码的数组:-

$query = "SELECT * FROM server";
$result = mysql_query($query);
$dServer = array();

while($row = mysql_fetch_assoc($result)) {
    $dServer[] = $row['model'];
}    

现在,如何将 $dServer 数组传递到 Javascript 数组中?

例如这个数组:

var a = new Array();

【问题讨论】:

  • 将所有数组从 $dServer 传递到 a.
  • 请使用搜索功能。 “相关”侧边栏中大约 1/4 的问题回答了您的问题。
  • @zerkms 如果他们使用引号,它会使a 成为字符串,而不是 JSON 定义的变量。
  • @jprofitt:哎呀,错过了不是ajax响应,而是内联JS

标签: php javascript


【解决方案1】:
$query = "SELECT * FROM server";
$result = mysql_query($query);
$dServer = array();

while($row = mysql_fetch_assoc($result)){
    $dServer[] = $row['model'];
}    

?>
<script type="text/javascript">
    var a = <?php echo json_encode($dServer); ?>;
</script>

【讨论】:

    【解决方案2】:

    将其编码为 json 对象。

    <?
        $arr = array('entry' => 'content');
    ?>
    
    <script>
    var data = <?=json_encode($arr);?>;
    alert(data['entry']);
    </script>
    

    【讨论】:

      【解决方案3】:

      尝试使用ajax请求和json_encode

      第二个变种

      <?php
      $query = "SELECT * FROM server";
      $result = mysql_query($query);
      $dServer = array();
      
           while($row = mysql_fetch_assoc($result))
            {
                    $dServer[] = $row['model'];
            }    
      ?>
      var a = <?php echo json_encode($dServer);?>;
      

      【讨论】:

        【解决方案4】:

        除了提到的ajax/json方法外,还可以直接打印出值:

        <?php
          $query = "SELECT * FROM server";
          $result = mysql_query($query);
        ?>
        
        <script type="text/javascript">
          var a = new Array();
        
        <?php
          while($row = mysql_fetch_assoc($result)){
            echo "a['model'] = " . $row['model'] . ";"; 
            echo "a['nextField'] = " . $row['nextField'] . ";"; 
          }
        ?>
        </script>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-06-20
          • 1970-01-01
          • 2012-05-27
          • 2013-03-15
          • 1970-01-01
          • 1970-01-01
          • 2014-06-11
          相关资源
          最近更新 更多