【发布时间】:2013-05-27 11:28:06
【问题描述】:
我在尝试遍历 Javascript 数组中的 PHP 数组时遇到了一些麻烦...我在论坛上进行了搜索,虽然我发现了一些关于将 PHP 值复制到 Javascript 值的帖子,但我无法准确找到我想要实现的目标......
我有一个名为“phpArray”的 PHP 数组数组,我希望将该数组的每个值复制到一个 Javascript 数组数组中(称为“javaArray”)。我有一个 Javascript 循环,当“phpArray”为空时填充 Javascript 数组,我只是试图使用 PHP 索引来迭代“phpArray”。但是,它的作用就好像PHP索引从不增加一样,我唯一能得到的数组值是“phpArray”的第一个……下面是与此相对应的一段代码:
for (var i = 0; i < javaArray.length; i++) {
javaArray[i] = new Array(<?php echo $numCols; ?>);
for (var j = 0; j < javaArray[i].length; j++) {
javaArray[i][j] = "0";
<?php
if(sizeof($javaArray) > 0)
{
?>
javaArray[i][j] = "<?php echo $phpArray[$i][$j]; ?>";
<?php
}
?>
}
}
知道我该怎么做吗?
提前感谢您的时间和精力! :)
【问题讨论】:
-
回显一个数组不会给你想要的值。尝试对该数组进行 json_encode 编码,然后将其放入 javascript 值中,然后在该 javascript 值上运行循环
-
你不能只对它进行 json 编码:
javaArray = <?php echo json_encode($phpArray) ?>;? -
这样不行。您必须了解服务器端脚本和客户端脚本语言之间的区别。在您的代码中,PHP 代码将在浏览器之前执行。然后将执行 Javascript 代码。因此,您需要通过 AJAX 将 PHP 数组传递给 Javascript 代码,然后对其进行处理。 "";这里 i 和 j 在服务器端执行时没有任何意义。
-
我正准备用 @sroes 来回答 - 你应该把它添加为答案 - 得到我的支持 :)
-
问题是 PHP 在服务器上运行,而 Javascript 开始在客户端浏览器上运行(在 PHP 代码执行完成之后)。
标签: php javascript arrays