簡體   English   中英

內部循環運行的PHP函數不起作用(帶代碼)

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM