Foros del Web » Programando para Internet » PHP »

Listar años de muchas fechas

Estas en el tema de Listar años de muchas fechas en el foro de PHP en Foros del Web. Necesito obtener los años de un conjunto de fechas. 12/10/1989 11/05/1989 02/12/2011 resultado: 1989 2011...
  #1 (permalink)  
Antiguo 09/02/2019, 13:51
Avatar de ..::MaRcOs::..  
Fecha de Ingreso: diciembre-2006
Mensajes: 328
Antigüedad: 12 años, 8 meses
Puntos: 3
Listar años de muchas fechas

Necesito obtener los años de un conjunto de fechas.

12/10/1989
11/05/1989
02/12/2011

resultado:

1989
2011
  #2 (permalink)  
Antiguo 10/02/2019, 14:59
 
Fecha de Ingreso: abril-2006
Mensajes: 289
Antigüedad: 13 años, 4 meses
Puntos: 51
Respuesta: Listar años de muchas fechas

Código PHP:
Ver original
  1. <?php
  2. $data = array(
  3. '12/10/1989',
  4. '11/05/1989',
  5. '02/12/2011'
  6. );
  7. $anios = array();
  8. foreach($data as $fila){
  9.      list($dia,$mes,$anio)= explode("/",$fila,3);
  10.       if(!isset($anios[ $anio ])){
  11.         $anios[ $anio ]  =$anio;
  12.       }
  13. }

y asi la variable $anios almacena solo los años , que estan en toda una lista de fechas sin repeterilas, ya muchisimas mas formas de lograr lo mismo
__________________
Mis aportes te ayudaron??, te hicieron ahorrar valiosos tiempo??, si quieres puedes agradecerme con un Gracias o con una donacion
https://paypal.me/pools/c/87BTML2gwr
  #3 (permalink)  
Antiguo 11/02/2019, 13:45
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 6 años, 1 mes
Puntos: 379
Respuesta: Listar años de muchas fechas

Es muy sencillo solo crea una función que lo haga

Código PHP:
Ver original
  1. $data = array(
  2. '12/10/1989',
  3. '11/05/1989',
  4. '02/12/2011'
  5. );
  6.  
  7. function getYearsFromArray(Array $data) {
  8.     return array_map(function($data){
  9.         return (new DateTime($data))->format('Y');
  10.      }, $data);
  11. }
  12.  
  13. var_dump(getYearsFromArray($data));
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: muchas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:20.