我有这个小方法。
$cargos = JSON.parse('<?php echo $cargos ?>');
$html = '';
console.log($cargos[0][0]); //correct printing of the desired values
for(var x=0;x <= $cargos.length;x++)
{
console.log(x); //this prints the numbers correctly
$html += "<option value='"+$cargos[x][0]+"'>"+$cargos[x][1]+"</option>"; //error, $cargos[x] is undefined
}
我正在使用JSON从PHP检索一个(多维)数组,我打算对其进行一个小循环,但是由于出现错误,我在调用数组元素时不能使用变量
x
。TypeError: $cargos[x] is undefined
如果我尝试使用数字手动调用索引,它们将正确打印而不会出现错误。
我究竟做错了什么?
最佳答案
数组的索引在Javascript中从零开始。因此,当从头到尾遍历数组时,应从索引0
遍历到length-of-array - 1
。您可以在循环的终止条件中简单地将<=
替换为<
,它应该可以正常工作。