所以我完全是个 php/javascript 菜鸟。
我正在尝试将完整的 php 数组加载到 javascript 数组中。 我为 Javascript 写了这个:
var names = new Array();
for(var i = 0; i < 48; i++) {
names[i] = "<?php echo giveJS() ?>";
}
这是 php 的
static $counter = 0;
function giveJS() {
global $names;
global $counter;
$counter++;
return $names[$counter];
}
我已经检查过 php 数组是否正确填充了数据。 当我用 javascript 编写输出行时,比如
document.write(names[10]);
它只给了我 php 数组中的第一个条目,所以似乎每次重复 for 循环都会从头开始初始化 php 文件,因此将计数器设置为 0。 我该如何解决?
最佳答案
在 PHP 中
//Bla being the php array you want to give to javascript. Create it however you like
$bla = array();
$bla[] = 'cat';
$bla[] = 'dog';
$bla[] = 'bat';
echo '<script>var myarray = '.json_encode($bla) .';</script>';
然后上面的代码将输出一个脚本标签,其中包含一个名为 myarray 的变量,然后其内容将是指定上述数组的 JSON(json_encode 将数组格式化为 javascript 内部语法——数组可能看起来像 ['cat' ,'狗',' bat ] )
然后您可以像这样从 JavaScript 数组中获取值:
<script>
console.log(myarray[2]);
</script>
关于php数组加载到javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9774126/