Javascript 循环和数组
Javascript loops and arrays
我在以下循环中遇到问题,该循环为变量newLat[i]
生成空结果。但是,当我直接填充newLat[0]
(在最后 2 行中)时,它工作正常。有什么想法吗?
.PHP:
$sql = "SELECT `id`, `name`, `lat`, `lng` FROM `markers` " ;
$result = $dbc->query($sql);
$hits = $result->num_rows ;
echo "<br /> Records = " ;
echo "$hits <br />";
while($row = $result->fetch_assoc()) {
$MarkerID[] = $row['id'];
$MarkerName[] = $row['name'];
$MarkerLat[] = $row['lat'];
$MarkerLng[] = $row['lng'];
}
和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]);
for (var i = 0; i < myhits; i++) {
newLat[i] = <?php echo json_encode($MarkerLat[i]); ?>;
document.write (newLat[i]);
}
您正在尝试将PHP代码包含在JavaScript循环中。这根本不可能,因为所有PHP都在服务器上计算,而JS在客户端上。打开你的网页并"查看源代码" - 你会看到那一行可能没有任何内容。
你必须找到另一种方法来做到这一点;也许$MarkerLat
发送给客户端的方式与hits
相同。
不能在其他语言块中使用 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 数组中,然后再通过循环运行它。
相关文章:
- javascript:数组循环
- 如何将数组循环到JSON代码中
- 而与数组循环
- JavaScript 数组/循环不起作用
- AJAX在数组循环中调用,只在上一次完成后调用next
- 数组循环以获取单个值
- JavaScript数组循环
- Javascript 2D数组循环停止
- 通过Javascript中的JSON数组循环
- 为什么以下 forEach 数组循环未返回未定义
- 如何在数组循环中过滤数据
- 如何在数组循环 222 中过滤数据
- 数组循环以确定范围平均值
- 对象的数组循环
- 对象键及其值的数组循环
- 虽然的缺点!未定义的数组循环
- 数组循环导致无限循环
- 数组循环 - 处理下拉列表中的空值
- 在 Node 中连接数组循环.js glob 结果
- JavaScript 图像数组循环