数组显示零长度,每个()没有值
我对PHP比对JQuery更熟悉,而且对数组有点困难。 我已经阅读了关于这个主题的论坛上的所有post,但无法让它发挥作用。
我有我相信的arrays。 在php中看起来像这样的东西
myArr = ['option-4' => '3','option-1' => '8', 'option-3' => '0' ];
在JQuery中,我可以使用该命令检索值
var x = myArr['option-1'];
这一切都很好,但我需要做的是创建一个值的字符串。 所以我需要循环遍历元素并将元素的值添加到字符串中。 问题是循环。
当我检查arrays的长度
alert("Elements in array "+myArr.length);
它总是返回零。
当我尝试类似的东西
$.each(myArr , function(i, val) { alert(myArr[i]); });
没有任何表现。
我显然缺少一些东西,我的PHP知识必须阻止事情。 有人可以帮忙吗?
这不是一个有效的JavaScript数组。 您想要使用一个对象:
var myArr = {'option-4': '3', 'option-1': '8', 'option-3': '0' };
然后,您可以使用for .. in迭代所有键:
for (var key in myArr) { alert(myArr[key]); }
这相当于PHP中的关联数组。 请注意,您需要使用显式键来访问元素,不能使用索引,例如myArr[0]
。
如果你想使用jQuery:
$.each(myArr , function(key, val) { alert(key + ": " + val); });