PHP 数组传递给 JavaScript 函数
在 JavaScript 中操作 PHP 数组是一个常见需求。本指南概述了使用 JSON 将 PHP 数组传递给 JavaScript 函数的有效方法。
问题:
要从 PHP 将数组传递给 JavaScript 中的函数,但遇到了问题。代码示例如下:
<?php $au = []; for ($counter = 0; $counter < count($au); $counter++) { switch ($au[$counter]->id) { case pageID.'/insights/page_active_users/day': $day[] = $au[$counter]->value; break; (...) } } ?> <script> drawChart(600/50, '<?php echo $day; ?>', <?php echo $week; ?>, <?php echo $month; ?>, <?php echo createDatesArray(cal_days_in_month(CAL_GREGORIAN, date('m',strtotime('-1 day')), date('Y',strtotime('-1 day')))); ?>); </script>
解决方法:
使用 JSON 将 PHP 数组编码为字符串,然后将其传递给 JavaScript 函数。编码格式如下:
echo json_encode($day);
在 JavaScript 中,使用 JSON.parse() 方法解析接收到的 JSON 字符串:
var obj = JSON.parse('<?php echo json_encode($day); ?>');
修改后的代码如下:
<?php $au = []; for ($counter = 0; $counter < count($au); $counter++) { switch ($au[$counter]->id) { (...) } } ?> <script> drawChart(600/50, <?php echo json_encode($day); ?>, <?php echo json_encode($week); ?>, <?php echo json_encode($month); ?>, <?php echo createDatesArray(cal_days_in_month(CAL_GREGORIAN, date('m',strtotime('-1 day')), date('Y',strtotime('-1 day')))); ?>); </script>
这种方法确保了 PHP 数组值以安全且可靠的方式传递给 JavaScript 函数。
以上是如何有效地将 PHP 数组传递给 JavaScript 函数进行操作?的详细内容。更多信息请关注PHP中文网其他相关文章!