PHP - comparacion de variables

 
Vista:
sin imagen de perfil
Val: 557
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

comparacion de variables

Publicado por zendi (1056 intervenciones) el 16/09/2013 03:29:13
buenas noches a todos, pero se me presentó otro problemilla con estas benditas fechas, y realicè un codigo.
Pero me gustaria que si alguien puede revisarlo a ver si la comparacion y la logica que estoy haciendo esta bien o no. Les agradezco.

Nota:la variable $_POST['fecha']; la traigo de un formulario a otro formulario Y la idea de esto es dejar siempre la fecha aaaa/mm/dd ya que estoy usando el Postgresql y solo acepta las fechas de esa forma

Este es el codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
echo $fecha = $_POST['fecha'];
    echo "</br>";
/////////Se valida cuando la fecha es aaaa/mm/dd	
	$ani    = substr($fecha,0,4);
    $mesi   = substr($fecha,5,2);
    $díai   = substr($fecha,8,2);
    $todo = $ani."-".$mesi."-".$díai;
 
if ($fecha === $todo)
{
    $anio  = substr($fecha,0,4);
    $mes   = substr($fecha,5,2);
    $día   = substr($fecha,8,2);
    echo "</br>";
 
   echo $fecha = $anio."-".$mes."-".$día;
}
/////////Se valida cuando la fecha es:dd/mm/aaaa
else{
    $día2   = substr($fecha,0,2);
    $mes2   = substr($fecha,3,2);
    $anio2  = substr($fecha,6,4);
   echo $fecha = $anio2."-".$mes2."-".$día2;
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 557
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

comparacion de variables

Publicado por zendi (1056 intervenciones) el 16/09/2013 14:39:28
Hola xve, bueno es cierto lo que dices, el asunto es que le doy echo directamente para ver si funciona
Ahora Xve, el enlace que me enviaste esta interesante, la voy a analizar y la aplicaré.
pero quisiera saber tu opinion acerca de si de todos modos funciona el codigo que yo realicé?
saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 557
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

comparacion de variables

Publicado por zendi (1056 intervenciones) el 17/09/2013 01:13:10
yo esperaba sus respuestas ya que yo si reconozco cuando he tardado en contestar, tarde pero respondo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

comparacion de variables

Publicado por xve (6935 intervenciones) el 17/09/2013 08:55:42
Hola Zendi, no entiendo que quieres decir... nos puedes explicar con mas detalle?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

comparacion de variables

Publicado por xve (6935 intervenciones) el 17/09/2013 08:55:10
Hola Zendi, la verdad es que no he probado tu código, pero veo esto que no se hasta que punto esta bien:
1
($fecha === $todo)

Porque utilizas 3 iguales?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 557
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

comparacion de variables

Publicado por zendi (1056 intervenciones) el 17/09/2013 16:25:58
Que tal Xve. Bueno no en valde coloque la igualacion asi, porque consulte a php.net en OPERADORES DE COMPARACION y me muestra este ejemplo:
$a == $b Igual TRUE si $a es igual a $b después de la manipulación de tipos.
$a === $b Idéntico TRUE si $a es igual a $b, y son del mismo tipo.
Ahora cual seria tu opinion al respecto? Seria bueno que opinaras si es correcto o no hacerlo de este modo.
Y gracias por contestar amigo.
saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

comparacion de variables

Publicado por xve (6935 intervenciones) el 17/09/2013 17:48:39
La verdad, es que los === únicamente lo he utilizado para la instrucción strpos()

= asignacion
== comparacion

Por lo que me comentas, === revisa que los dos tipos de variables sean enteros o string ademas de que el contenido sea el mismo, no?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 557
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

comparacion de variables

Publicado por zendi (1056 intervenciones) el 17/09/2013 18:05:12
son de tipo string en este caso
Ahora bien Xve, con respecto a la funcion que referenciaste:
http://www.lawebdelprogramador.com/codigo/PHP/2082-Exportar_una_fecha_a_formato_MySQL_y_verificar_que_la_estructura_sea_correcta.html, no supe como aplicarla. ¿podrías ayudarme con eso?
esta es la variable via post:
$fecha = $_POST['fecha'];
pero me arroja este error:
Parse error: syntax error, unexpected T_PUBLIC in C:\wamp\www\Programa_FEDE_impresoras\binareparada.php on line 17
Honestamente no estoy ducho en las funciones.
¿donde ubicaria la variable?
Y hay otra funcion que tiene expresiones regulares.

$fecha = $_POST['fecha'];
public function convertDateToMsSQL($date)
{
if($this->validateDateEs($date))
{
$values=preg_split('/(\/|-)/',$date);
$values[0]=(strlen($values[0])==2?$values[0]:"0".$values[0]);
$values[1]=(strlen($values[1])==2?$values[1]:"0".$values[1]);
$values[2]=(strlen($values[2])==4?$values[2]:substr(date("Y"),0,2).$values[4]);
return $values[2].$values[1].$values[0];
}
return "";
}
/** * Funcion para validar una fecha en formato: * dd/mm/yyyy, d/m/yyyy, d/m/yy */

public function validateDateEs($date) {
$pattern="/^(0?[1-9]|[12][0-9]|3[01])[\/|-](0?[1-9]|[1][012])[\/|-]((19|20)?[0-9]{2})$/";
if(preg_match($pattern,$date))
return true;
return false;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar