作者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