dongyuandou2521 2013-07-11 11:53
浏览 259
已采纳

计算会员的平均年龄(PHP)

I want to create the average age of my members. I already managed to get an array of all the date of births and found an easy way to calculate a birthday. But I don't manage to combine it.

My 'date of birth' - array:

$results = array();

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

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

The calculation of the age:

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

Calculation average of my age-array:

$average = array_sum($array) / count($array);
  • 写回答

2条回答 默认 最新

  • doujiao2014 2013-07-11 11:54
    关注

    Might be done with direct sql (using TIMESTAMPDIFF() and AVG() functions):

    SELECT AVG(TIMESTAMPDIFF(YEAR, `dob`, NOW())) as `average` FROM `member`;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥50 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?