Foros del Web » Programando para Internet » PHP »

Año actual y siguiente

Estas en el tema de Año actual y siguiente en el foro de PHP en Foros del Web. No sé que hago mal seugro que es una tonteria: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original <?php echo "" . $row [ 'anoini' ] . ...
  #1 (permalink)  
Antiguo 03/11/2010, 13:07
Avatar de AdrianSeg  
Fecha de Ingreso: enero-2010
Mensajes: 595
Antigüedad: 14 años, 2 meses
Puntos: 14
Año actual y siguiente

No sé que hago mal seugro que es una tonteria:

Código PHP:
Ver original
  1. <?php echo "".$row['anoini']."-".$row['anoini']+'1'."";?>

$row['anoini'] es 2010 y eso deberia mostrar 2010 - 2011 pero solo muestra 2011....¿por qué?
  #2 (permalink)  
Antiguo 03/11/2010, 13:11
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Año actual y siguiente

SAludos

Código PHP:
Ver original
  1. echo $row['anoini']."-".$row['anoini']+1;
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 03/11/2010, 13:18
Avatar de AdrianSeg  
Fecha de Ingreso: enero-2010
Mensajes: 595
Antigüedad: 14 años, 2 meses
Puntos: 14
Respuesta: Año actual y siguiente

No funciona...eso me parecio lo mas logico y ya lo habia probado...
  #4 (permalink)  
Antiguo 03/11/2010, 13:23
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Año actual y siguiente

Entonces

Código PHP:
Ver original
  1. $valor1= $row['anoini'];
  2. $valor2= $valor1 +1;
  3.  echo $valor1."-".$valor2;
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #5 (permalink)  
Antiguo 03/11/2010, 13:27
Avatar de AdrianSeg  
Fecha de Ingreso: enero-2010
Mensajes: 595
Antigüedad: 14 años, 2 meses
Puntos: 14
Respuesta: Año actual y siguiente

Si, gracias, funciona...pero por qué?
  #6 (permalink)  
Antiguo 03/11/2010, 13:41
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Año actual y siguiente

Para lo que necesitas no se utiliza el (.) sino la (,). Estuve revisando el manual pero aun no me queda claro el porque revisare y te cuento por que tambien quede con esa duda.

Código PHP:
Ver original
  1. echo $row['anoini'],"-",$row['anoini']+1;
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #7 (permalink)  
Antiguo 03/11/2010, 13:43
Avatar de AdrianSeg  
Fecha de Ingreso: enero-2010
Mensajes: 595
Antigüedad: 14 años, 2 meses
Puntos: 14
Respuesta: Año actual y siguiente

Increible...la primera vez que veo eso,...si piuedes envia el link del manual gracias.
  #8 (permalink)  
Antiguo 03/11/2010, 15:22
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: Año actual y siguiente

Se puede hacer usando ambos, el punto o la coma. El punto es para concatenar y la coma es para usar los demás parámetros de la función echo, la cual puede soportar varios parámetros. De preferencia se debe usar la coma porque es más óptimo.

Ahora, qué paso? Lo he revisado y si hubieran puesto el paréntesis todo hubiera resultado bien:

Código PHP:
<?php echo $row['anoini']."-".($row['anoini']+1); ?>
Aunque yo recomendaría usar al coma. Pero por qué aparecía solo 2011? Eso es porque primero se hacía la concatenación, el año, el guión y el otro año, después se pretendía sumar más uno, una cadena para sumarse con un número debe convertirse antes en número. Bien, tenemos: "2010-2010" + 1, convetimos "2010-2010" a número: sería 2010, más uno: 2011. Ahí está la respuesta.
  #9 (permalink)  
Antiguo 03/11/2010, 15:40
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Año actual y siguiente

Saludos

ElJavista Muchas Gracias, ya me ha quedado claro!.

Otra cosa que descubri es que si tenemos por ejemplo

Código PHP:
Ver original
  1. echo "2008"."-"."2000"."2005"+1; //2009

El convierte en numero el primer valor que pueda convertir y el resto los omite. Por eso es importante los parentesis.

Hasta Pronto!.
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #10 (permalink)  
Antiguo 03/11/2010, 15:44
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: Año actual y siguiente

Claro, lo que sucede es que la conversión a número de una cadena se hace siempre hasta que se encuentre un carácter no numérico, en este caso el guión. Lo mismo sería si seguirías concatenando con cualquier cosa.

Etiquetas: año, siguiente
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 19:39.