elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  PHP arrays.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: PHP arrays.  (Leído 4,590 veces)
_Enko


Desconectado Desconectado

Mensajes: 538



Ver Perfil WWW
Re: PHP arrays.
« Respuesta #10 en: 30 Enero 2015, 23:37 pm »

Es algo que tendras que escribir tu, lo que coloqué fue una especie de pseudocodigo. Tambien Minus.Four te ha pasado codigo para calcular los meses que  hay pasado entre las dos fechas.

No se trata de hacer copy-past. Sino entender lo que estas haciendo. No se resuelven tareas sino se ayuda a aprender en este foro.
Saludos.


En línea

Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: PHP arrays.
« Respuesta #11 en: 1 Febrero 2015, 14:18 pm »

Con el permiso de @MinusFour y los presentes.

Tu duda principal trata de cómo puedes imprimir los meses a partir de una fecha, ¿cierto?

Creo que por lógica lo puedes resolver con simple pseudocódigo, simplemente es identificar el mes e imprimir los meses posteriores. Si identificas un mes, lo haces por medio de su número en el calendario. Luego recorres los meses y condicionas que te imprima el mes siempre y cuando sea mayor al mes ingresado.

Código
  1. $month = substr("30/05/2014",3,2);
  2.  
  3. foreach($months as $key => $value) {
  4. if($key >= $month) {
  5. echo $value."<br/>";
  6. if($key === 12)
  7. echo $months[1];
  8. }
  9. }

Practicar resolviendo ejercicios algorítmicos para que desarrolles tu lógica.


« Última modificación: 1 Febrero 2015, 14:28 pm por Gus Garsaky » En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: PHP arrays.
« Respuesta #12 en: 1 Febrero 2015, 16:32 pm »

Con el permiso de @MinusFour y los presentes.

Tu duda principal trata de cómo puedes imprimir los meses a partir de una fecha, ¿cierto?

Creo que por lógica lo puedes resolver con simple pseudocódigo, simplemente es identificar el mes e imprimir los meses posteriores. Si identificas un mes, lo haces por medio de su número en el calendario. Luego recorres los meses y condicionas que te imprima el mes siempre y cuando sea mayor al mes ingresado.

Código
  1. $month = substr("30/05/2014",3,2);
  2.  
  3. foreach($months as $key => $value) {
  4. if($key >= $month) {
  5. echo $value."<br/>";
  6. if($key === 12)
  7. echo $months[1];
  8. }
  9. }

Practicar resolviendo ejercicios algorítmicos para que desarrolles tu lógica.

Realmente lo que hace ese codigo (que es muy parecido al suyo) es contar desde el mes que sacaste de la fecha a enero. El primer post dice esto:

necesito hacer una funcion que me imprima los meses desde una fecha seleccionada hasta la fecha actual..

Por lo que a menos que estemos en enero, el codigo no funciona correctamente. Por ejemplo, si estuvieramos en noviembre del 2014, contaria diciembre y enero tambien. Encima, no esta contemplando los meses después del primer año.
En línea

Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: PHP arrays.
« Respuesta #13 en: 1 Febrero 2015, 18:09 pm »

Ya veo. Creo que la solución sería algo así, aunque supongo que se puede optimizar, no conozco muy bien PHP en realidad.

Código
  1. <?php
  2.  
  3. $date = explode("/","25/04/2012"); // array dia/mes/año de la fecha antigua
  4. $now = getDate();
  5. $now = explode("/",$now["mday"]."/".$now["mon"]."/".$now["year"]); // array dia/mes/año actual
  6.  
  7. // constantes que definen el primer y ultimo mes a mostrar
  8. define("INITIAL_MONTH", (int) $date[1]);
  9. define("LAST_MONTH", (int) $now[1]);
  10.  
  11. $year_diff = (int)$now[2] - (int)$date[2]; // diferencia en años
  12. $months_diff = ($year_diff * 12) + (int)$now[1] - (int)$date[1]; // diferencia en meses
  13.  
  14. echo "<br />";
  15.  
  16. $currentMonth = INITIAL_MONTH; // el primer que se mostrara
  17. // como $currentMonth no inicia en 1, le sumamos al total de meses INITIAL_MONTH
  18. // Ej. si INITIAL_MONTH = 4 (abril), months_diff sumará 4 meses al total
  19. while($currentMonth <= $months_diff + INITIAL_MONTH) {
  20. // cuando el mes sea 12 se imprime el mes y se reinicia la variable de control
  21. // para que empiece a contar desde enero. Tambien se le restan 12 meses al total
  22. // de meses ya que hemos descontado 12 a la variable de control
  23. if($currentMonth === 12) {
  24. print($months[$currentMonth]."<br />");
  25. $currentMonth = 1;
  26. $months_diff -= 12;
  27. }
  28. print($months[$currentMonth]."<br />");
  29. $currentMonth++;
  30. }
« Última modificación: 1 Febrero 2015, 18:11 pm por Gus Garsaky » En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: PHP arrays.
« Respuesta #14 en: 1 Febrero 2015, 18:49 pm »

Si... esa solucion puede pasar por correcta. Realmente es la misma solucion que proponia Enko, aunque el objetivo era que el OP conectara los puntos.
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Lio con Arrays
Programación Visual Basic
X-TN 2 1,480 Último mensaje 28 Junio 2006, 20:03 pm
por X-TN
Arrays « 1 2 »
Programación Visual Basic
xDie 12 4,051 Último mensaje 20 Septiembre 2006, 20:05 pm
por xDie
[H] Arrays
ASM
Erik# 4 3,340 Último mensaje 9 Julio 2009, 19:13 pm
por Amerikano|Cls
Arrays en VB
Programación Visual Basic
TheGhost(Z) 6 4,710 Último mensaje 11 Noviembre 2009, 21:13 pm
por TheGhost(Z)
Duda con arrays dentro de arrays « 1 2 »
PHP
Servia 11 6,799 Último mensaje 10 Marzo 2011, 09:04 am
por Servia
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines