将PHP数组转换为Javascript数组

将PHP数组转换为Javascript数组,php,javascript,while-loop,Php,Javascript,While Loop,下午好。下面的代码工作得很好,但是,我需要将php sql数组的每一行拉出并放入脚本变量中。关于如何编写一个while循环来实现这一点,有什么想法吗?谢谢你的帮助 var enableDays = ["<?php echo mysql_result($result, 0, 'date'); ?>"]; enableDays.push("<?php echo mysql_result($result, 1, 'date'); ?>"); var enableDays

下午好。下面的代码工作得很好,但是,我需要将php sql数组的每一行拉出并放入脚本变量中。关于如何编写一个while循环来实现这一点,有什么想法吗?谢谢你的帮助

 var enableDays = ["<?php echo mysql_result($result, 0, 'date'); ?>"];

 enableDays.push("<?php echo mysql_result($result, 1, 'date'); ?>");
var enableDays=[“”];
enableDays.push(“”);
附加代码::

$rows = array();

while ($row = mysql_fetch_assoc($result))
{
    $rows[] = $row;
}



    var enableDays = [<?php echo json_encode($rows); ?>];

    console.log(enableDays[1]);
$rows=array();
while($row=mysql\u fetch\u assoc($result))
{
$rows[]=$row;
}
var enableDays=[];
console.log(enableDays[1]);

将数据提取到PHP数组中,然后使用

var enableDays = <?php echo json_encode($enableDays); ?>;
var enableDays=;

另一方面,强制性建议您应该立即停止使用PHP
mysql
扩展,因为它不太安全,已经被弃用;切换到更好的模式(
mysqli
PDO
都是不错的选择)。

将数据取出到PHP数组中,然后使用

var enableDays = <?php echo json_encode($enableDays); ?>;
var enableDays=;

另一方面,强制性建议您应该立即停止使用PHP
mysql
扩展,因为它不太安全,已经被弃用;切换到更好的模式(
mysqli
PDO
都是不错的选择)。

这行不通。加载页面后,所有PHP都已经运行。但是,如果您真的只是为每个推送添加下一个mysql_结果,您可以让PHP为您创建整个enableDays数组:

<?php
  echo 'var enableDays = ["' . mysql_result(...) . '", "' . mysql_result(...) . '"];'
?>

这不行。加载页面后,所有PHP都已经运行。但是,如果您真的只是为每个推送添加下一个mysql_结果,您可以让PHP为您创建整个enableDays数组:

<?php
  echo 'var enableDays = ["' . mysql_result(...) . '", "' . mysql_result(...) . '"];'
?>

希望这会有所帮助

  <?php 
    $res = mysql_fetch_assoc($result)
    foreach($res as $key => $val){ ?>
            enableDays.push('<?php echo $val; ?>');
    <?php } 
  ?>

启用天数。推送(“”);
希望这会有所帮助

  <?php 
    $res = mysql_fetch_assoc($result)
    foreach($res as $key => $val){ ?>
            enableDays.push('<?php echo $val; ?>');
    <?php } 
  ?>

启用天数。推送(“”);

您可以使用
mysqli\u fetch\u assoc
获取行,然后将其编码为JSON:

<?php
$rows = array();

while ($row = mysqli_fetch_assoc($result)) {
    $rows[] = $row;
}
?>


var enableDays = <?php echo json_encode($rows); ?>;

var enableDays=;

您可以使用
mysqli\u fetch\u assoc
获取行,然后将其编码为JSON:

<?php
$rows = array();

while ($row = mysqli_fetch_assoc($result)) {
    $rows[] = $row;
}
?>


var enableDays = <?php echo json_encode($rows); ?>;

var enableDays=;


我已经试过了,然后当我做一个console.log($enableDays[1]);它说未定义。您将如何将其拉入php数组?@user2014175:您没有尝试过,因为它会起作用。你试过类似的东西;让我们看看是什么。@user2014175这个答案比我的好。如果对您不起作用,请尝试将json记录到您的PHP日志文件中,以了解您是否真的正确生成了整个数组。@user2014175我的意思是记录到您的PHP日志文件,而不是console.log。使用error_log($rows)和error_log(json_encode($rows))@user2014175:这是他们答案中的jh314代码,它在
标记周围有额外的括号,这是错误的(该答案已被编辑以更正此错误)。我已经尝试过了,然后当我执行console.log($enableDays[1]);它说未定义。您将如何将其拉入php数组?@user2014175:您没有尝试过,因为它会起作用。你试过类似的东西;让我们看看是什么。@user2014175这个答案比我的好。如果对您不起作用,请尝试将json记录到您的PHP日志文件中,以了解您是否真的正确生成了整个数组。@user2014175我的意思是记录到您的PHP日志文件,而不是console.log。使用error_log($rows)和error_log(json_encode($rows))@user2014175:这是他们答案中的jh314代码,它在
标记周围有额外的括号,这是错误的(该答案已被编辑以更正此问题)。我很好奇为什么您不使用PHP编写“服务”它返回JSON并在JavaScript中使用Ajax方法调用它。我很好奇,为什么不使用PHP编写一个“服务”,返回JSON并在JavaScript中使用Ajax方法调用它。如果其中一个结果包含双引号呢?如果它以斜线结尾呢?不要手动编码——这就是
json_encode
的目的。如果其中一个结果包含双引号怎么办?如果它以斜线结尾呢?不要手动编码——这就是
json_encode
的用途。您可能需要删除外部
[]
json_encode
已经生成了一个有效的JS对象文本,为什么还要麻烦将其包装在一个无意义的数组中呢?当我这样做时,然后使用console.log(enableDays[1]);检查一下,我只是说“未定义”有什么想法为什么?谢谢您使用的是
mysqli
?如果我不希望返回一个关联数组,而是一个数字索引数组,我该怎么做?谢谢你可以使用
mysqli\u fetch\u row
你可能想删除外部
[]
json\u encode
已经生成了一个有效的JS对象文本,为什么还要麻烦将它包装在一个无意义的数组中呢?当我这样做时,然后使用console.log(enabledys[1]);检查一下,我只是说“未定义”有什么想法为什么?谢谢您使用的是
mysqli
?如果我不希望返回一个关联数组,而是一个数字索引数组,我该怎么做?感谢您可以使用
mysqli\u fetch\u行