我有一个对象数组var codropsEvents={[date1]:['event1'],[date2]:['event2'};
我想向event1插入多个值,即{[date1]:['event1','event2'],..}
我使用以下代码
<?php
$da=[];
$qry="select * from events";
$ex=mysqli_query($con,$qry);
while($row=mysqli_fetch_assoc($ex))
{
$timestamp = strtotime($row['date']);
$date= date('m-d-Y', $timestamp);
$event=$row['event'];
$da[]=$date;
$eve[]=$event;
}
?>
<script type="text/javascript">
var a=<?php echo(json_encode($da)); ?>;
var ev= <?php echo(json_encode($eve)); ?>;
var codropsEvents ={};
for(var i=0;i<a.length;i++)
{
codropsEvents[a[i]] = '<span>'+[ev[i]]+'</span>';
}
</script>
但是使用这段代码,我得到了类似的东西,
var codropsEvents={[date1]:[event1],[date1]:[event2]}
但是我需要一个键中所有具有相同日期的事件为{[date1]:['event1','event2',..],[date2]:[''event3','event4'..],..};
请任何人都可以帮助我
答案 0 :(得分:0)
您需要检查对象中是否存在键,如果没有使用空数组对其进行初始化。然后将元素推入数组。
<script type="text/javascript">
var a=<?php echo(json_encode($da)); ?>;
var ev= <?php echo(json_encode($eve)); ?>;
var codropsEvents ={};
for(var i=0;i<a.length;i++)
{
if (!codropsEvents[a[i]]) {
codropsEvents[a[i]] = [];
}
codropsEvents[a[i]].push('<span>'+[ev[i]]+'</span>');
}
</script>