0

タイムスタンプの後にユーザーに毎日ペナルティを課すスクリプトを作成しようとしています。1日目は1ポイント、2日目は2ポイント、3番目は4ポイント、4番目は8ポイント、16、32、64などのペナルティが課せられます。

strtotimeと乗算を自動生成するにはどうすればよいですか?

現時点では、探しているものが何と呼ばれているのかわからないので、検索が難しくなります。投稿されている場合は申し訳ありません。

4

2 に答える 2

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;
于 2012-10-25T06:08:10.423 に答える
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
...
于 2012-10-25T06:08:18.360 に答える