迭代PHP数组以使用PHP foreach创建Javascript数组

Sin*_*mok 0 javascript php arrays iteration

在PHP数组的迭代过程中产生一个Javascript数组时,我遇到了一个烦人的','.基本上,我所拥有的是:

<?php
  $array = array(StdObject,StdObject,StdObject);
?>

//later that page...in JavaScript

var list = [
<?php foreach($array as $value):?>
  '<?=$value->some_letter_field?>',
<?endforeach;?>
];
Run Code Online (Sandbox Code Playgroud)

不幸的是,这段代码的作用是产生如下所示的输出:

var list = ['a','b','c',];
Run Code Online (Sandbox Code Playgroud)

请注意JavaScript数组中的额外逗号?这导致了一些问题.我将如何重新编写此PHP代码段以便不打印额外的逗号,从而生成格式正确的JavaScript数组?

预期产量应为:

var list = ['a','b','c'];
Run Code Online (Sandbox Code Playgroud)

我提前感谢您的帮助.

Pao*_*ino 9

你不需要自己做这个,PHP有一个叫做json_encode你想要的功能.如果由于某种原因你没有PHP 5.2.0,那么该页面的评论中有很多实现可以解决这个问题.


Ale*_*ver 5

使用implode()来粘合数组元素.它会照顾逗号

//later that page..in JavaScript

var list = ['<?=implode("', '", $array)?>'];
Run Code Online (Sandbox Code Playgroud)