[英]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.