1
jybox 2013-07-25 00:50:16 +08:00 2
$class = ["A", "B", "C", "D"][(intval(gmdate("j")) - 1) % 4];
PHP5.5没问题,低版本的话你可能需要拆成几句话... |
2
awebird 2013-07-25 00:52:40 +08:00 1
单纯php不行吧,我觉得上面的映射逻辑写在一个php里,再加定时任务在你要的触发时间点去调用..
|
3
saharabear 2013-07-25 00:59:42 +08:00 1
用PHP就行,不需要cron,我觉得你要的就是动态调用。
对了,要不就别用class,用闭包封装到array里面,我不知道你说的那个$class是不是一个类,还仅仅是一个变量的表示。 反正最简单的办法就是放在array里面,用日期当key,对象当value,到了时间去array中遍历出合适的然后调用。 |
4
tension OP @jybox 5.5 还不行... 没那么高级...
@awebird 定时任务 太麻烦... @saharabear 就是动态调用 class 是一个变量, 我在模板里写 if ($class=='A') { 内容 } elseif ($class=='B') { 内容 } elseif ($class=='C') { 内容 } else ($class=='D') { 内容 } 所以我想用php解决 |
5
haiyang416 2013-07-25 01:25:42 +08:00 via Android 1
@tension 版本低的话把一楼的拆成几个部分就行了,就是一个数组,根据当前时间来获取值。不过不是完整的环,是从1号为A开始,结尾有几种,作个判断就想行。
|
6
duhastmich 2013-07-25 06:46:17 +08:00 1
current(array_slice(array("A", "B", "C", "D"), (int)(time() / 86400) % 4));
我猜这个php4也能跑 |
7
justfindu 2013-07-25 09:01:57 +08:00
为啥高端的人类都喜欢把函数一个个个个个个个多套在一起~
这就是在执行之前取日期~ 然后根据日期取模或者啥来判断么~ 多简单的事儿~ |
9
CoX 2013-07-25 09:24:17 +08:00 2
date('d')%4
|
10
justfindu 2013-07-25 09:28:21 +08:00 1
|
15
raquelken 2013-07-25 10:25:37 +08:00 1
@tension 验证下
php > echo chr(65+(25-1)%4); A php > echo chr(65+(26-1)%4); B php > echo chr(65+(27-1)%4); C php > echo chr(65+(28-1)%4); D php > echo chr(65+(29-1)%4); A |
16
tension OP 谢谢!!!!!!!!
|
17
awebird 2013-07-25 11:23:36 +08:00
如果7月31号->8月1号想连续的话,最好是用时间戳比较吧
<?php ini_set('date.timezone','PRC'); $base = strtotime("2013-07-25 00:00"); $cur = time(); //$cur = strtotime("2013-08-01 03:00"); $diff = floor(($cur - $base)/(24*60*60)); $class=chr(65 + $diff % 4); echo $class; |
18
Showfom 2013-07-25 11:34:08 +08:00
小 T 啊!
|