私はPHPで登録システムを構築しており、生年月日(タイムスタンプ)と年齢(4月31日)を返す関数を作成する必要があります。私が今いるものは:PHPで調整年齢を作成する
<?php
function get_adj_age($dob)
{
$age = (time()-$dob);
$today = strtotime(date('F d', time()));
$diff = ($cutoff - $today);
$adj_age = floor(($age+$diff)/31556926);
return $adj_age;
}
これは私の脳を破壊しています。誰でもこのことについて私にチェックしてもらえますか?乾杯。
機能全体を投稿してもよろしいですか?私は 'return $ adj_age;を疑っています;関数の範囲外のことは(インクルードされていないファイルではエラーを発生させる以外は)行います。 –
$ cutoffはどこにも定義されていないので、警告が生成され、null/0として扱われるので、$ diffは単に "negative $ today"です。そして4月31日にはどのようにこの機能が関与していますかそれはどこにも使われていません。プラス3156926を使用して365.25日を返信します。閏年を許すためのおめでとうが、そのような醜い数学を使うためのboooooo。 –
'$ today'は、' strtotime() 'の代わりに' time() 'の戻り値にする必要があります。 – anubhava