将 PHP 数组传递给 Javascript 数组

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/10220642/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-24 00:22:48  来源:igfitidea点击:

Pass PHP array into Javascript array

phpjavascript

提问by Hafiz Abdullah

Referring to the title. I have an array which I coded like this:-

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

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

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

Now, how do I pass the $dServerarray into a Javascript array?

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

For example, this array:

例如,这个数组:

var a = new Array();

回答by Paul

$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>

回答by Mārti?? Briedis

Encode it as a json object.

将其编码为 json 对象。

<?
    $arr = array('entry' => 'content');
?>

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

回答by Igor

Try to get use of ajax request and json_encode.

尝试使用 ajax request 和json_encode

Second variant

第二种变体

<?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);?>;

回答by DACrosby

In addition to the ajax / json methods mentioned, you can directly print out the values:

除了上面提到的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>