是否可以将PHP的一个简单片段重新编码为javascript

Is it possible to recode a simple snippet of PHP to javascript?

本文关键字:新编码 片段 编码 javascript 简单 一个 PHP 是否      更新时间:2023-09-26

我在一个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/