我正在开发一个电子商务网站。 javascript中有一个数组“products”,由以下代码定义
<script type="text/javascript">
var products =
[
{"id":"1","title":"Apple iPhone 4"},
{"id":"2","title":"BlackBerry 9780 Bold"}
];
/*some other javascript code*/
</script>
我希望这个数组根据查询数据库返回的行数动态更新。 例如,假设我查询数据库并返回 5 行。我希望用这 5 行更新该数组。请帮我完成这件事。我在 Windows 机器上使用 PHP、MySQL、Apache。
最佳答案
您需要push
功能:http://www.w3schools.com/jsref/jsref_push.asp
var products =
[
{"id":"1","title":"Apple iPhone 4"},
{"id":"2","title":"BlackBerry 9780 Bold"}
];
// Let's add a new phone:
products.push({"id":"3","title":"HTC Evo"});
/*
products now equals:
[
{"id":"1","title":"Apple iPhone 4"},
{"id":"2","title":"BlackBerry 9780 Bold"},
{"id":"3","title":"HTC Evo"}
];
*/
考虑到您可能有一个现有数组并且您想通过 ajax 更新它,您可以使用 PHP 动态执行此操作:
<script type="text/javascript">
<?php foreach($phones as $phone): ?>
products.push({"id":"<?=$phone['id']?>","title":"<?=$phone['name']?>"});
<?php endforeach; ?>
</script>
关于php - 如何在Javascript中动态设置数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6752069/