顺序安全的值从php传递到javascript


Order-safe value passing from php to javascript

如果我将数组从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放到某个地方,它就不会在客户端改变。