Javascript循环和数组
我在以下循环中遇到问题,它为变量newLat[I]生成空结果。但是,当我在最后两行中直接填充newLat[0]时,效果很好。有什么想法吗 PHP: 和Javascript:Javascript循环和数组,javascript,php,arrays,for-loop,Javascript,Php,Arrays,For Loop,我在以下循环中遇到问题,它为变量newLat[I]生成空结果。但是,当我在最后两行中直接填充newLat[0]时,效果很好。有什么想法吗 PHP: 和Javascript: var myhits = <?php echo json_encode($hits); ?>; var newLat = new Array (myhits); for (var i = 0; i < myhits; i++) { newLat[i] = <?php echo jso
var myhits = <?php echo json_encode($hits); ?>;
var newLat = new Array (myhits);
for (var i = 0; i < myhits; i++) {
newLat[i] = <?php echo json_encode($MarkerLat[i]); ?>;
document.write (newLat[i]);
}
newLat[0] = <?php echo json_encode($MarkerLat[0]); ?>;
document.write (newLat[0]);
您试图在JavaScript循环中包含PHP代码。这是不可能的,因为所有的PHP都是在服务器上计算的,而JS是在客户机上计算的。打开您的网页并查看源代码-您将看到可能没有任何关于该行的内容
你必须想出另一种方法来做到这一点;可能会以与hits相同的方式向客户端发送$MarkerLat。您不能在不同的语言块中使用FOR指针:
for (var i = 0; i < myhits; i++) {
newLat[i] = <?php echo json_encode($MarkerLat[i]); ?>;
document.write (newLat[i]);
}
您正试图在PHP块中使用JavaScript i。不仅在此时执行了PHP块,它还不知道如何处理该i。它将是0
在循环中运行$MarkerLat[i]之前,需要将其内容转储到JavaScript数组中
for (var i = 0; i < myhits; i++) {
newLat[i] = <?php echo json_encode($MarkerLat[i]); ?>;
document.write (newLat[i]);
}
for (var i = 0; i < myhits; i++) {
newLat[i] = <?php echo json_encode($MarkerLat[i]); ?>;
document.write (newLat[i]);
}