我在这上面失去了毛发。
我有一个PHP数组:
Array
(
[10-10-2015] => Array
(
[0] => Array
(
[hour] => 10:00
[title] => Meeting x
)
)
[10-09-2015] => Array
(
[0] => Array
(
[hour] => 17:00
[title] => another meeting
)
[1] => Array
(
[hour] => 11:11
[title] => other meeting
)
)
)
如您所见,同一天有两次会议。 这是对的。
我需要生成Javascript数组:
var codropsEvents = {
'10-16-2015': ['<span>event one</span>', '<span>event two</span>'],
'10-17-2015': ['<span>event one</span>', '<span>event two</span>'],
};
有任何帮助或建议怎么做?
答案 0 :(得分:0)
您可以在php中使用json_encode($array)
将其转换为有效的json字符串。在您的javascript中,您可以使用JSON.parse(json)
来解析json字符串。
例如:
<?php
$array=array
(
'10-10-2015' => array
(
0 => array
(
'hour' => '10:00',
'title' => 'Meeting x'
)
)
);
?>
<script>
var data = JSON.parse('<?php echo json_encode($array); ?>');
// or var data = <?php echo json_encode($array); ?>;
</script>
答案 1 :(得分:0)
使用json。
echo 'var myJsArray = JSON.parse("'.json_encode($myPhpArray).'");';
答案 2 :(得分:0)
尝试这种方法:
创建您想要的数组:
<?php
$events = .....;
$data = [];
foreach($events AS $date => $eventsByDate) {
$data[$date] = [];
foreach($eventsByDate AS $event) {
$data[$date][] = '<span>'.$event['title'].'</span>';
}
}
?>
输出$ data数组编码为json字符串并解析它以获取javascript对象或数组:
<script>
var codropsEvents = JSON.parse('<?=json_encode($data)?>');
console.log(codropsEvents);
</script>
答案 3 :(得分:0)
新进展......
没有JSON.parse,只是:
var codropsEvents = <?=json_encode($events);?>
它正在返回
var codropsEvents = {
"10-10-2015":[
{"time":"10:00","title":"Meeting X"}
],
"10-09-2015":[
{"time":"17:00","title":"Other event"},
{"time":"11:11","title":"Other Meeting"}
]
}
导致返回Object
有什么想法吗?