一个表,大概结构是这样的,三个字段
1,姓名   2,部门   ,3,出生年月
我想把出生年月在单独用程序处理,然后显示出年龄,
模板输出只有  volist 来循环我想后台取出来有对年龄在进行处理,比如后面显示多少岁,我想用下面的代码来处理,怎么实现呢$birthday="1989-08-14";  //客人生日
   $date=date("Y-m-d");    //取当前时间
    list($y,$m,$d)=explode("-",$birthday);   //按“-”分割生日的日期
    list($xy,$xm,$xd)=explode("-", $date);   //按“-”分割当前的日期
      
     $age=$xy-$y;  //当前年份减去客人出生年份
     if($xm>$m || $xm==$m&&$xd>$d) 
  //判断月份和日期,如果当前日期大于客人出生       日期,年龄加一
     {
         $age=$age+1;
     }
     
    echo $age; 

解决方案 »

  1.   

    你可以用strtime那个函数把出生者年月日换算成数字。再把今天的日期换成数字。相减除一年的时间就可以了
      

  2.   

    $arr = [
        [
            'partId' => 13,
            'birthday' => '1989-09-06'
        ],
        [
            'partId' => 14,
            'birthday' => '1986-07-05'
        ]
    ];
    function getAge($birthday){
        $date=date("Y-m-d");    //取当前时间
        list($y,$m,$d)=explode("-",$birthday);   //按“-”分割生日的日期
        list($xy,$xm,$xd)=explode("-", $date);   //按“-”分割当前的日期
        $age=$xy-$y;  //当前年份减去客人出生年份
        if($xm>$m || $xm==$m&&$xd>$d)
            //判断月份和日期,如果当前日期大于客人出生       日期,年龄加一
        {
            $age=$age+1;
        }
        return $age;
    }foreach ($arr as &$v){
        $v['age']=getAge($v['birthday']);
    }
    echo '<pre>';
    print_r($arr);die;处理完数据,前台接收然后展示就行,$arr就是你查询数据库之后的结果集
      

  3.   


    我模板遍历的出来的东西怎么获取它的值呢
    比如从数据库里面取出来以后我怎么在处理
    <volist name="res" id="v">
    <tr>
             <td>{$v.id}</td>
             <td>{$v.name}</td>
             <td>{$v.age}</td>   //在模板里面我怎么样把这个值获取出来然后在作处理,比如这个值减去100在加上300
    </tr>
    </volist>
      

  4.   

    http://blog.csdn.net/nycqwert/article/details/7873807,实在不行直接<?php echo $xxx;?>程序是死的,人是活的