Lo peor que se puede hacer es alterar registros en una base de datos ya creada, al menos si no tienes 100% control sobre quien accesa a dicha información, imagina que esos datos son consultados por otra aplicación o persona, convertir la fecha a unix podría corromper dicho programa o dificultar/anular la lectura por alguna otra persona....
Para tu problema puedes usar la clase DateTime (solo disponible a partir de PHP5) para saber la edad de manera sencilla, otra forma es usar SQL directamente para saber la edad (que en rendimiento puede ser mejor) usando las funciones YEAR() y CURDATE(), para el tema de los rangos solo es cuestión de usar if para saber en que rango esta, te dejo un ejemplo con datetime, pero que es fácil traducir usando SQL para saber la edad...
Código PHP:
Ver original<?php
//función genérica para generar las fechas de manera aleatoria...
function genFecha() {
switch($mes) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
break;
case 4:
case 6:
case 9:
break;
case 2:
break;
}
return $anio.'/'.$mes.'/'.$dia;
}else {
return genFecha();
}
}
$hoy = new DateTime('now');
for($i=0; $i<50; $i++) {
//solo fijate en que formato se entregan (YYYY/MM/DD)
$fecha = new DateTime(genFecha());
$intervalo = $fecha->diff($hoy);
$anios = $intervalo->format('%Y');
if ($anios <= 24) {
$rangos[$anios] += 1;
}
if ($anios >= 25 && $anios <= 29) {
$rangos['25a29'] += 1;
}
if ($anios >= 30 && $anios <= 34) {
$rangos['30a34'] += 1;
}
if ($anios >= 35 && $anios <= 39) {
$rangos['35a39'] += 1;
}
if ($anios >= 40 && $anios <= 44) {
$rangos['40a44'] += 1;
}
if ($anios >= 7 && $anios <= 49) {
$rangos['7a49'] += 1;
}
}
echo '<pre>';
echo '</pre>';