【发布时间】:2018-07-17 05:36:10
【问题描述】:
我有这个 JS calendar library,我想用我的 MySQL 数据库中的日期填充它。
看起来像这样:
<script>
var today = new Date();
var matrix = {};
var tmp;
';
while($erg_termin = $res_termin_jahr -> fetch())
{
echo '
matrix['.$erg_termin->termin_beginn_jahr.'] = {};
';
}
while($erg_termin = $res_termin_monat -> fetch())
{
echo '
matrix['.$erg_termin->termin_beginn_jahr.']['.$erg_termin->termin_beginn_monat.'] = {};
';
}
while($erg_termin = $res_termin_tag -> fetch())
{
echo '
matrix['.$erg_termin->termin_beginn_jahr.']['.$erg_termin->termin_beginn_monat.']['.$erg_termin->termin_beginn_tag.'] = {};
';
}
while($erg_termin = $res_termin -> fetch())
{
echo '
matrix['.$erg_termin->termin_beginn_jahr.']['.$erg_termin->termin_beginn_monat.']['.$erg_termin->termin_beginn_tag.'].push({"displayname": "'.$erg_termin->termin_betreff.'"});
';
}
echo'
console.log(matrix);
</script>
我在源代码中得到的结果是:
<script>
var today = new Date();
var matrix = {};
var tmp;
matrix[2018] = {};
matrix[2018][02] = {};
matrix[2018][02][05] = {};
matrix[2018][02][08] = {};
matrix[2018][02][11] = {};
matrix[2018][02][12] = {};
matrix[2018][02][15] = {};
matrix[2018][02][18] = {};
matrix[2018][02][19] = {};
matrix[2018][02][05].push({"displayname": "Wöchentliche Wiederholung"});
matrix[2018][02][08].push({"displayname": "Wöchentliche Wiederholung"});
matrix[2018][02][11].push({"displayname": "Wöchentliche Wiederholung"});
matrix[2018][02][12].push({"displayname": "Wöchentliche Wiederholung"});
matrix[2018][02][15].push({"displayname": "Wöchentliche Wiederholung"});
matrix[2018][02][18].push({"displayname": "Wöchentliche Wiederholung"});
matrix[2018][02][19].push({"displayname": "Wöchentliche Wiederholung"});
console.log(matrix);
</script>
但是问题来了。在使用函数push 时出现此错误:Uncaught TypeError: matrix[2018][2][5].push is not a function。
我想问题是我想向matrix[2018][2][5] 推送一些东西。但我不确定...如何将 JS 中的值推送到多维数组?
因为会有更多的日期,所以我不能简单地为每个日期创建一个数组。代码需要动态的!
我将不胜感激任何形式的帮助!
亲切的问候
【问题讨论】:
-
在php中自然构建大数组可能更容易,然后将其与json_encode一起输出到单个js var中......也许。你有一些事情要做。
标签: javascript php arrays multidimensional-array