我有这个小方法。

$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。您可以在循环的终止条件中简单地将<=替换为<,它应该可以正常工作。

08-18 22:56