Добавление элементов в JSON-кодированный массив - PullRequest
0 голосов
/ 18 ноября 2009

Я использую это решение, найденное в 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-кодированного массива.

Так что мне нужно, чтобы результат был похож на

[{"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 Ответ

5 голосов
/ 18 ноября 2009

Прежде чем вызывать json_encode ($ row), просто отредактируйте значение в массиве $ lines:

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

edit на самом деле, если вы просто хотите добавить цвет ко всем строкам, вы можете сделать простой foreach:

foreach ($rows as &$row) {
    $row['colour'] = 'Blue';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...