是否可以将PHP的一个简单片段重新编码为javascript
Is it possible to recode a simple snippet of PHP to javascript?
我在一个intranet站点上得到了以下代码,该站点每周显示不同的员工名称,它在员工数组中循环。它基本上是在特定的一周更新网站,由谁负责维护。
<?php
$staff = array('John', 'Mike', 'Chris');
echo $staff[((time()+3*24*3600)/(7*24*3600)) % count($staff)];
?>
我们不得不让网站离线一段时间,我们直接在浏览器中访问页面(而不是通过网络服务器运行)。
有没有任何方法可以将上面的代码调整为Javascript中的功能?我已经很久没有使用Javascript了,我认为这可能是最好的选择,但我a)不确定这是否可能,b)不确定如何进行。
任何提示都将不胜感激!
这看起来很简单。
var staff = ['John', 'Mike', 'Chris'];
var selected = staff[ Math.floor(((Date.now()/1000) + 3*24*3600) / (7*24*3600)) % staff.length ];
console.log(selected);
注意:我使用(Date.now()/1000)
是因为time()
返回秒,而Date.now()
返回毫秒。
注2:我使用Math.floor
,因为((Date.now()/1000) + 3*24*3600) / (7*24*3600)
可能不会返回整数(当使用带小数的%
时,JavaScript返回的结果与PHP不同)。
试试这个:
var timeInMilliseconds = new Date().getTime();
var timeInSeconds = Math.floor(timeInMilliseconds / 1000);
var staff = ["John","Mike","Chris"];
alert(staff[Math.floor((timeInSeconds + 3*24*3600)/(7*24*3600)) % staff.length]);
输出
Chris
注意:添加Math.floor以强制生成一个整数。
这是前几周的巡回演出,可能会引起人们的兴趣:http://phpjs.hertzen.com/
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 防止Iframe窗体在新窗口中打开
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 通过js在新选项卡中有条件地打开url
- 使用jquery将mysql数据获取到新的表行中
- 触摸移动时切换到新元素
- 如何从rails中的代码中删除新行( )
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- 是否可以将PHP的一个简单片段重新编码为javascript
- 为什么新的谷歌分析片段使用括号符号
- 用于初始化对象的编码模式 - 构造函数(新)与 Object.create()(Crockford)
- 实施“;silktide cookie同意使用新的谷歌异步分析片段
- 谷歌地图地理编码器如何我可以返回值在新的Google .maps. latlng
- 在Aurelia中创建新记录——JSON编码错误
- 如何在不重新加载基于标签片段的页面的情况下加载新内容?
- 数据编码在新协议握手hybi-10
- 在新包含的html片段上应用jquery和js函数
- 如何让dojo监听器监听新添加的html片段's事件