2013-07-11 304 views
2

我想創建我的成員的平均年齡。 我已經設法得到所有出生日期的數組,並找到了一個計算生日的簡單方法。但我無法將它結合起來。計算成員的平均年齡(PHP)

我的 '出生日期' - 陣列:

$results = array(); 

$dob_array = mysqli_query($conn, "SELECT dob_array FROM members"); 

    while($row = mysqli_fetch_assoc($dob_array)){ 
     $results[] = $row; 
    } 

年齡的計算:我的年齡陣列的

$today = new DateTime(); 
$birthdate = new DateTime("1991-01-01"); 
$interval = $today->diff($birthdate); 
echo $interval->format('%y years'); 

計算平均:

$average = array_sum($array)/count($array); 
+3

而next.Are你得到任何錯誤,會發生什麼? –

回答

5

可能用直接sql完成(使用TIMESTAMPDIFF()AVG()函數):

SELECT AVG(TIMESTAMPDIFF(YEAR, `dob`, NOW())) as `average` FROM `member`; 
+1

爲了得到更準確的結果使用和'DAY'的'interval'併除以365.'AVG(TIMESTAMPDIFF(DAY,'date_of_birth',NOW())/ 365)''。 –

+0

@BrettSantore注意。 – BlitZ

0

這可能一:

SELECT AVG(DOB_COLUMN_NAME) from TABLE NAME 
+0

這將給平均出生日期,而不是年齡。 – Bun