如果我将数组从php传递给js:
var array = <?php echo json_encode($array); ?>;
是真的,i
第th元素js数组和php数组将引用相同的数据?
我相信对于基于索引的数组,答案是是。对于关联数组,转换为js对象,json_encode所做的并不重要,因为JavaScript在遍历键(使用for..in)时不保证任何特定的键顺序。
你想干什么?混合PHP和js?
你应该使用你传递的函数参数:e
。
var someArray = <?php echo json_encode($array); ?>;
for(var i = 0; i < someArray.length; i++) {
infoWindow.setContent(createDivForElement(someArray[i]) );
}
function createDivForElement(e) {
var result = '<div>';
result += '<img src=' + e.thumbail + '/>';
result += '</div>'
return result;
}
你已经传递了someArray[i]
,你可以用e
在函数内部寻址。然后,您不需要在函数中涉及任何PHP。这里只需要PHP将数据传递给JS。
始终记住,一旦你把PHP放到某个地方,它就不会在客户端改变。