Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript循环和数组_Javascript_Php_Arrays_For Loop - Fatal编程技术网

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

我在以下循环中遇到问题,它为变量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 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]);
}