我从数据库表中获取用户列表:
userid username created
1 xyz 1384875794
创建 的时间是[使用PHP time()]创建用户的UNIX时间。
但是在浏览器中打印这些用户时,我会将php时间转换为 可读格式[例如2013年11月19日]使用javascript。
我的问题出现了:
假设javascript函数format_time(time)将时间转换为可读格式。
首选以下两种方式中的哪一种
第一种方式:
像这样使用javascript内联
<table>
<?php foreach($users as $user) {
<tr>
<td> <?php echo $user['name']; ?> </td>
<td> <script>format_time(<?php echo $user['created']; ?>)</script></td>
</tr>
<?php } ?>
</table>
这里format_time()将使用document.write()来打印格式化的时间。
第二种方式:
在DOM加载后使用javascript
我甚至可以通过转换php变量$ users来删除上面的ajax请求 通过JSON编码/解码到javascript并重复上面的第二步。
答案 0 :(得分:1)
在这种情况下,我建议您在php
处理时间的问题格式,然后输出处理结果:
<table>
<?php foreach($users as $user) {
// format_time is a function to format time in php script
$created = format_time($user['created']);?>
<tr>
<td> <?php echo $user['name']; ?> </td>
<td> <script>format_time(<?php echo $created; ?>)</script></td>
</tr>
<?php } ?>
</table>
如果你只想输出$ users对象然后在javascript中使用它,你可以像下面这样做:
<?php
$users = array(array('name' => 'srain'));
echo "<script type='text/javascript'>var users = " . json_encode($users) . ";</script>";
?>
然后您可以通过javascript访问用户。