我一直在寻找一种将php数组转换为javascript数组的方法。
这应该是用json_encode完成的,如下所示。 Pass a PHP array to a JavaScript function
我用我的代码做了这个但是没有给我原始的数组项javascript只给了我数组的索引号,数据似乎已经消失了。
这是PHP代码。
//creates array.
$ar = array("item 1","item2","etc");
foreach($ar as $item){
echo $item;
}//prints the array items.(so item1 item2 etc)
这是javascript代码。
//Supposibly turns the php array into a js array.
var ar = <?php echo json_encode($ar); ?>;
for(var x in ar){
alert(x);
}//alerts the indexes and not the array items.(so 0 1 2)
我在这里错过了一些重要的事情,因为在我搜索的任何地方他们都说json_encode应该有效。但对我来说,它并不是。
我知道阵列是连接的,因为如果我将一个项目添加到&#34; $ ar&#34;然后&#34; var ar&#34;还有一个额外的项目。
答案 0 :(得分:0)
JavaScript中的foreach语法不是用于数组,而是用于对象。
for (var key in obj)
为您提供对象的键,而不是相应的值。要访问这些内容,您必须使用obj[key]
。但是,应该使用像这样的公共for循环迭代JavaScript数组:
var length = arr.length;
for (var i = 0; i < length; i++) {
// Do stuff with arr[i] here
}