将项添加到JSON编码的数组

时间:2009-11-18 02:26:26

标签: php sql arrays json

我正在使用stackoverflow上的这个解决方案将我的MYSQL输出编码为JSON编码数组。

$sth = mysql_query("SELECT ...");

$rows = array();

    while($r = mysql_fetch_assoc($sth)) {
        $rows[] = $r;
    }

print json_encode($rows);

这很好用并产生

的输出
[{"id":"81","title":"Something Here","start":"2009-10-27 09:00:00"},{"id":"77","title":"Report on water","start":"2009-10-30 09:00:00"}]

现在我需要设置一个值

"colour":"Blue"

在JSON编码数组中。

所以我需要ouput看起来像

[{"id":"81","title":"Community Awareness","start":"2009-10-27 09:00:00", "colour":"Blue"},{"id":"77","title":"Write a 10,000 Page Report on Emma","start":"2009-10-30 09:00:00", "colour":"Blue"}]

有没有人对我如何实现这个目标有任何解决方案?

谢谢,

蒂姆莫尔

1 个答案:

答案 0 :(得分:5)

在调用json_encode($ rows)之前,只需编辑$ rows数组中的值:

$rows[0]['colour'] = 'Blue'; // changes the colour of the first row in the array

编辑实际上,如果您只是想为所有行添加颜色,您可以做一个简单的foreach:

foreach ($rows as &$row) {
    $row['colour'] = 'Blue';
}