2012-10-25 58 views
0

我试图制作一个脚本,在时间戳后每天对用户进行惩罚。 第一天将处罚1分,第二天2分,第三分4分,第四分8分,16,32,64等。每日繁殖的值php

我会如何去自动生成一个strtotime和乘法?

我真的不知道我在找什么被称为在这一点上,这使得难以搜索,抱歉,如果这已被张贴。

回答

0

让我们假设,即$ timestamp1与第一天时间戳和$ timestamp2现在是时间戳。然后:

$difference = abs(strtotime($timestamp2)-strtotime($timestamp1)); 

$days = floor($difference/(60*60*24)); 
$penalty = pow(2,$days); 

echo "{$days} left, so your penalty is: {$penalty}"; 

样品结果:

0 left, so your penalty is: 1 
1 left, so your penalty is: 2 
2 left, so your penalty is: 4 
3 left, so your penalty is: 8 
4 left, so your penalty is: 16 
5 left, so your penalty is: 32 
6 left, so your penalty is: 64 
... 
+0

这些都是优秀的答案。不得不与这一个去。 – VVV

+0

我怎么会动态输入每个到MySQL字符串? – VVV

+0

或者说,我如何每天只启动一次? – VVV

0

试试这个

$initial_date  = '2012-10-20'; 
$initial_datetime = new DateTime($initial_date); 
$today_datetime = new DateTime(); 
$days_passed  = $initial_datetime->diff($today_datetime)->format('%a'); 
$penalty   = pow(2, ($days_passed-1)); 
echo $penalty; 
+0

也是一个很好的答案,谢谢。 – VVV