使用"Foreach"循环在php中生成javascript数组

Cam*_*ues 2 javascript php foreach

所以我在php中用for循环生成javascript对象数组.我的代码看起来有点像这样:

<script type="text/javascript">

var items = [ 
<?php foreach($items as $item): ?>
     {
        "title" : "<?php echo $item->title ?>",
        "image" : "<?php echo $item->getImage()?>",
      }, 
 <?php  endforeach ?>
];

</script>
Run Code Online (Sandbox Code Playgroud)

这段代码不起作用,因为我的javascript数组末尾有一个额外的逗号.是否有一种优雅的方式来处理分隔javascript对象的逗号?

Thi*_*ter 10

你应该用json_encode().

<?php
    $jsItems = array();
    foreach($items as $item) {
        $jsItems[] = array(
            'title' => $item->title,
            'image' => $item->getImage()
        );
    }
    echo 'var items = '.json_encode($jsItems).';';
?>
Run Code Online (Sandbox Code Playgroud)