我正在尝试从PHP数组创建一个JS对象数组,但我很难找到在每个对象之间插入逗号的方法。
这是我想要输出的内容:
var things = [
{
a: "foo",
b: "bar"
}, // Comma on this line
{
a: "moo",
b: "car"
} // No comma on this line
];
这是我到目前为止所做的:
var things = [
<?php foreach ($things as $thing): ?>
{
a: "<?php echo $thing->getA(); ?>",
b: "<?php echo $thing->getB(); ?>"
}
<?php endforeach; ?>
];
我想我可以诉诸丑陋的东西,比如只运行一次的if
语句:
<?php
$i = 1;
if ($i == 1) {
echo '{';
$i++;
} else {
echo ',{';
}
?>
有没有更清洁/更好的方法来做到这一点?
答案 0 :(得分:5)
像...一样的东西。
$JSONData = json_encode($YourObject);
还有解码......
$OriginalObject = json_decode($JSONData);
答案 1 :(得分:1)
如果你有一个PHP数组,并希望在JavaScript中使用某些东西,你可以使用json_encode()
答案 2 :(得分:1)
为什么不使用json_encode?
<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
?>
以上示例将输出: { “一”:1, “B”:2, “C”:3 “d”:4, “E”:5}
答案 3 :(得分:0)
以PHP Arrays的形式创建所需的结构,然后使用json_encode(http://php.net/manual/en/function.json-encode.php)。
$plainThing = array();
foreach ($things as $thing) {
$plainThing[] = array('a' => $thing.getA(), 'b' => $thing.getB());
}
echo json_encode($plainThing);