将JSON键设置为在循环内递增

时间:2015-05-21 23:24:09

标签: javascript php json

我的json输出中有一个数组来自一个使用密钥0,1,2等

的php文件

我无法通过javascript访问密钥。我不确定使用数字的问题是什么。所有其他数据都有一个文本值键,我可以使用data.arrayname.key访问它。为了解决这个问题,我想将密钥设置为一个带有数字的字符串,以便我可以轻松地在javascript中引用它。

每次循环都会推送数组。在循环中我尝试了

 $NoOfTips++;
 $jsonKey = 'Tip' + $NoOfTips;
 $TBarray[$jsonKey]=$line;
 array_push($TBarray);

理论上每次循环都会循环NoOfTips应该增加1,这也会改变Tip1,Tip2等的关键,但显然有些不对劲。有人可以解释为什么没有正确设置密钥。

由于

1 个答案:

答案 0 :(得分:2)

要回答真正的问题 - 要在javascript中访问数字索引,您不能使用点表示法,而是使用括号:

var data = { tips: { 1: "one", 2: "two" }, other: [1, { test: "tested" }] }
console.log(data.tips[1], data.other[0], data.other[1].test)
// output: one 1 tested

对于php方面,当你执行array_push时,你必须指定你要推送的阵列,以及你正在推动的内容:

array_push($TBarray, $line)
例如,

。不过,我不确定你的目的是什么。