[英]PHP function running inside loop not working (with code)
我正在运行此功能
function Age($month, $day, $year) {
date_default_timezone_set('America/New_York');
$dob = $month .''. $day .''. $year;
$startDate = strtotime($dob);
$endDate = time();
$dif = $endDate - $startDate;
return $years = (date('Y', $dif) - 1970) .' y, '. ($months = date('n', $dif) - 1).' m';
}
在foreach
循环内部(一些CodeIgniter标记):
foreach ($users as $row) {
echo $this->includes->Age($row->birth_month, $row->birth_day, $row->birth_year)
}
循环工作正常,显示我的所有用户。
但问题是它会为第一个用户正确计算年龄,然后为所有其他用户显示相同的年龄。 我应该指出所有其他用户的数据都是正确的,只有年龄是错误的。
有人知道怎么修这个东西吗?
谢谢!
你的$dob
看起来很糟糕。 尝试$dob = $year . '-' . $month . '-' $day;
$dob = $year . '-' . $month . '-' $day;
你错过了空格/分隔符。
$dob = $month .''. $day .''. $year;
应该
$dob = $month .'/'. $day .'/'. $year;
编辑:歧义。 如果使用mm-dd-yyyy格式,应该是/
。 - - 表示dd-mm-yyyy
也许CI正在缓存结果?
似乎功能年龄是正确的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.