我正在尝试将PHP数组变量转换为JavaScript变量。
这是我的代码:
<html>
<head>
<script type="text/javascript">
function drawChart(row,day,week,month,date)
{
// Some code...
}
</script>
</head>
<body>
<?php
for($counter = 0; $counter<count($au); $counter++)
{
switch($au[$counter]->id)
{
case pageID.'/insights/page_active_users/day':
$day[] = $au[$counter]->value;
break;
case pageID.'/insights/page_active_users/week':
$week[] = $au[$counter]->value;
break;
case pageID.'/insights/page_active_users/month':
$month[] = $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>
</body>
</html>
我无法获取PHP数组的值。
如何解决此问题?
发布于 2011-02-19 21:23:51
在下面的示例中,您有一个PHP数组,然后首先通过PHP数组创建一个JavaScript数组:
<script type="javascript">
day = new Array(<?php echo implode(',', $day); ?>);
week = new Array(<?php echo implode(',',$week); ?>);
month = new Array(<?php echo implode(',',$month); ?>);
<!-- Then pass it to the JavaScript function: -->
drawChart(<?php echo count($day); ?>, day, week, month);
</script>
发布于 2011-02-03 19:54:00
使用JSON。
在下面的示例中,$php_variable
可以是任何PHP变量。
<script type="text/javascript">
var obj = <?php echo json_encode($php_variable); ?>;
</script>
在你的代码中,你可以像下面这样使用:
drawChart(600/50, <?php echo json_encode($day); ?>, ...)
在需要从JSON-string中解析出对象的情况下(比如在AJAX请求中),安全的方法是使用如下所示的JSON.parse(..)
:
var s = "<JSON-String>";
var obj = JSON.parse(s);
发布于 2013-02-28 14:23:58
您可以使用json_encode
PHP函数将PHP数组传递给JavaScript。
<?php
$phpArray = array(
0 => "Mon",
1 => "Tue",
2 => "Wed",
3 => "Thu",
4 => "Fri",
5 => "Sat",
6 => "Sun",
)
?>
<script type="text/javascript">
var jArray = <?php echo json_encode($phpArray); ?>;
for(var i=0; i<jArray.length; i++){
alert(jArray[i]);
}
</script>
https://stackoverflow.com/questions/4885737
复制相似问题