我的json输出中有一个数组来自一个使用密钥0,1,2等
的php文件我无法通过javascript访问密钥。我不确定使用数字的问题是什么。所有其他数据都有一个文本值键,我可以使用data.arrayname.key访问它。为了解决这个问题,我想将密钥设置为一个带有数字的字符串,以便我可以轻松地在javascript中引用它。
每次循环都会推送数组。在循环中我尝试了
$NoOfTips++;
$jsonKey = 'Tip' + $NoOfTips;
$TBarray[$jsonKey]=$line;
array_push($TBarray);
理论上每次循环都会循环NoOfTips应该增加1,这也会改变Tip1,Tip2等的关键,但显然有些不对劲。有人可以解释为什么没有正确设置密钥。
由于
答案 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)
例如,。不过,我不确定你的目的是什么。