作者george755185 (覺悟者恆幸福)
看板PHP
標題[請益] PHP能送出包含Date物件的JSON嗎?
時間Sat Oct 2 03:28:31 2010
拿Google Chart API來當例子,
他接收資料的方式是像這樣的javascript:
data.addRows([
[new Date(2008, 1 ,1),30000,undefined,undefined,46645,undefined,undefined],
[new Date(2008, 1 ,2),32000,undefined,undefined,40645, "title2", "text2"],
[new Date(2008, 1 ,3),43000,undefined,undefined,45645,undefined,undefined],
[new Date(2008, 1 ,4),34000, "title1", "text1",47645,undefined,undefined]
]);
其中的數據我用PHP從資料庫取出,整理後存進一個陣列$list,因此我現在的做法是:
data.addRows([
<?php foreach($list as $row):?>
[
new Date(
<?=$row['date']?> ),
<?=$row['value1']?>,
<?=$row['title1']?>,
<?=$row['text1']?>,
<?=$row['value2']?>,
<?=$row['title2']?>,
<?=$row['text2']?>,
],
<?php endforeach;?>
]);
有沒有可能用例如json_encode()這類PHP函式處理後直接傳給JS,使其看來像:
var list =
<?=$json_list?>;
data.addRows(list);
ASP.NET好像有特殊支援Date格式,但用PHP我找不到好的方法,希望大家可以賜教~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.164.236
1F:推 shadowjohn:最簡單就生字串 或 eval , 應該沒做不到的事~ 10/02 03:32
2F:→ Kelunyang:糟糕我又想推unix time了XD他是int 10/02 11:52
3F:→ Kelunyang:.net可以透過AddSecond的方法算回正確時間 10/02 11:52
4F:→ george755185:但是這樣到javascript中還要跑一次迴圈製成JS的Date 10/02 14:29
5F:→ george755185:json的値除了字串,數字以外應該也可以是物件呀? 10/02 14:34
6F:→ chrisQQ:如果只是想簡化… 那就把獨立寫出一個 function 來處理 10/02 14:37
7F:→ chrisQQ:簡單一點的可以用 implode(',', $array) 產生,頭尾就在 10/02 14:38
8F:→ chrisQQ:另外手動修吧@@ 另外支援特殊格式日期指的是? 10/02 14:39
9F:→ george755185:可以看這篇 goo.gl/wSZf "ASP.NET的JSON日期轉換" 10/02 18:16
10F:推 shadowjohn:我覺得掛一下 phpjs.js 會好寫很多~ 10/02 18:56