PHP - ¿Porque 0 > 448?

   
Vista:
Imágen de perfil de Alejandro

¿Porque 0 > 448?

Publicado por Alejandro (197 intervenciones) el 15/05/2015 02:34:17
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Mi siguiente pedaso de codigo dice que 0 > 448 ¿porque?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$nBits  = 0;
switch ($nBits){
	Case ($nBits > 448):
		echo "$nBits > 448 <br>";
		$nBits =  512 - ($nBits - 448);
	break;
	case ($nBits == 448):
		echo "$nBits = 448 <br>";
		$nBits = $nBits + 512;
	break;
	Case ($nBits < 448):
		echo "$nBits < 448 <br>";
		$nBits = 448 - $nBits;
	break;
}
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
Imágen de perfil de xve

¿Porque 0 > 448?

Publicado por xve (5512 intervenciones) el 15/05/2015 07:52:15
Hola Alejandro, hasta donde yo se, no puedes hacer comparaciones dentro del case...

Si revisas la documentación, creo que no se puede hacer...
http://php.net/manual/es/control-structures.switch.php

La mejor manera, es utilizar el if elseif
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 Alejandro

¿Porque 0 > 448?

Publicado por Alejandro (197 intervenciones) el 15/05/2015 18:18:56
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Por algun extraño motivo me funcionan las comparaciones solo falla cuando es 0, lo solucione asi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$nBits  = strlen($binario);
switch ($nBits){
   Case 0:
   Case ($nBits < 448):
        echo "$nBits < 448 <br>";
        $nBits = 448 - $nBits;
   break;
   case 448:
        echo "$nBits = 448 <br>";
        $nBits = 512;
   break;
   Case ($nBits > 448):
        echo "$nBits > 448 <br>";
        $nBits =  512 - ($nBits - 448);
   break;
}

Podrias echarle un vistaso a mi codigo del HASH MD5 no me resulta :S
Te agradesco.
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 Roberto Iran

¿Porque 0 > 448?

Publicado por Roberto Iran (50 intervenciones) el 15/05/2015 20:00:31
El que te funcione no quiere decir que este bien, para lo que haces debes usar "if"
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 Alejandro

¿Porque 0 > 448?

Publicado por Alejandro (197 intervenciones) el 15/05/2015 20:35:18
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Sip, incluso es menos codigo
1
2
3
4
5
6
7
8
9
10
if ($nBits == 448){
     echo "$nBits = 448 <br>";
     $nBits = 512;
}else if ($nBits < 448){
     echo "$nBits < 448 <br>";
     $nBits = 448 - $nBits;
}else{
     echo "$nBits > 448 <br>";
     $nBits =  512 - ($nBits - 448);
}
como sea, sigo peliado con el maldito algoritmo MD5 :P jejeje
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

¿Porque 0 > 448?

Publicado por Gonzalo (338 intervenciones) el 16/05/2015 20:20:15
en caso de numeros negativos, esos siempre son menores a cero.

revisa a ver si este es el problema.

suerte, salu2
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