Foros del Web » Programando para Internet » PHP »

Problema con el comando Switch (no evalúa bien las variables)

Estas en el tema de Problema con el comando Switch (no evalúa bien las variables) en el foro de PHP en Foros del Web. Hola, tengo una duda en php, y es que por alguna razón el código no interpreta las variables como se lo he ordenado. El código ...
  #1 (permalink)  
Antiguo 10/04/2009, 16:16
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 4 meses
Puntos: 15
Hola, tengo una duda en php, y es que por alguna razón el código no interpreta las variables como se lo he ordenado. El código es este:

Código PHP:
<?
$pedro
=25;
$laura=30;
$juan=35;
$lupe=40;


switch(
$elmasgrande) {
case (
$pedro>$laura)&&($pedro>$juan)&&($pedro>$lupe):echo "El mas grande es Pedro"; break;
case (
$laura>$pedro)&&($laura>$juan)&&($laura>$lupe):echo "La mas grande es Laura"; break;
case (
$juan>$pedro)&&($juan>$laura)&&($juan>$lupe): echo "El mas grande es Juan"; break;
case (
$lupe>$pedro)&&($lupe>$laura)&&($lupe>$juan):echo "La mas grande es Lupe"; break;
default: echo
"quien sabe";
}



?>
Me responde que "El mas grande es Pedro" cuando debería ser "La mas grande es Lupe". Gracias por su ayuda.

Ya corregí el error. El código debe estar así:

Código PHP:
<?
$pedro
=25;
$laura=30;
$juan=35;
$lupe=40;


switch(
true) {
case (
$pedro>$laura)&&($pedro>$juan)&&($pedro>$lupe):$respuesta"El mas grande es Pedro"; break;
case (
$laura>$pedro)&&($laura>$juan)&&($laura>$lupe):$respuesta"La mas grande es Laura"; break;
case (
$juan>$pedro)&&($juan>$laura)&&($juan>$lupe): $respuesta"El mas grande es Juan"; break;
case (
$lupe>$pedro)&&($lupe>$laura)&&($lupe>$juan):$respuesta"La mas grande es Lupe"; break;
default: 
$respuesta="quien sabe";
}

echo 
"$respuesta";



?>

Última edición por GatorV; 11/04/2009 a las 23:08
  #2 (permalink)  
Antiguo 10/04/2009, 22:18
Avatar de pacmanaman  
Fecha de Ingreso: marzo-2009
Mensajes: 84
Antigüedad: 15 años, 1 mes
Puntos: 3
Respuesta: Problema con el comando Switch (no evalúa bien las variables)

De esta forma podes encontrar en el caso de que se de, si hay mas personas que tienen la misma edad y justo esta edad sea la mayor!

Código:
<?php

$a = array(
    'pedro' => 25,
    'laura' => 30,
    'juan' => 35,
    'lupe' => 40);
	
$mayorEdad = -1;

foreach($a as $key => $value)
		if($value > $mayorEdad)
			$mayorEdad = $value;
         
foreach($a as $key => $value)
	if($mayorEdad == $value)
		echo $key;

?>
__________________
(<++
  #3 (permalink)  
Antiguo 11/04/2009, 10:49
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 4 meses
Puntos: 15
Respuesta: Problema con el comando Switch (no evalúa bien las variables)

Muchas gracias por el consejor :). Y justo que ahorita voy a aprender "foreach".
  #4 (permalink)  
Antiguo 11/04/2009, 10:53
Avatar de pacmanaman  
Fecha de Ingreso: marzo-2009
Mensajes: 84
Antigüedad: 15 años, 1 mes
Puntos: 3
Respuesta: Problema con el comando Switch (no evalúa bien las variables)

No es nada!

SaluDOS!
__________________
(<++
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 03:59.