Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Obtener Valores dependiendo de una variable

Estas en el tema de Obtener Valores dependiendo de una variable en el foro de PHP en Foros del Web. Hola que tal. Quiero hacer una función que lea un número entero y dependiendo de ello me muestre los registros que necesito y no tengo ...
  #1 (permalink)  
Antiguo 08/10/2013, 00:39
 
Fecha de Ingreso: octubre-2013
Mensajes: 3
Antigüedad: 10 años, 6 meses
Puntos: 1
Busqueda Obtener Valores dependiendo de una variable

Hola que tal.
Quiero hacer una función que lea un número entero y dependiendo de ello me muestre los registros que necesito y no tengo idea como hacerlo.

La cosa es así:

Tengo una tabla de variables con sus valores:
Código:
        $CANMOVE	=	1;
	$LOOTER		=	2;
	$AGGRESSIVE	=	4;
	$ASSIST		=	8;
	$CASTSENSOR_IDLE	=	16;
	$BOSS		=	32;
	$PLANT		=	64;
	$CANATTACK	=	128;
	$DETECTOR	=	256;
	$CASTSENSOR_CHASE	=	512;
	$CHANGECHASE 		=	1024;
	$ANGRY		=	2048;
	$CHANGETARGET_MELEE	=	4096;
	$CHANGETARGET_CHASE	=	8192;
	$TARGETWEAK			=	16384;
Entonces quiero poder ingresarle un valor a esa función como por ejemplo 644 y me muestre:

Código:
       $AGGRESSIVE	=	4;
       $CANATTACK	=	128;
       $CASTSENSOR_CHASE	=	512;
Que la suma de esas 3 variables es 644. Y así. Si ingreso 12288 me mostraría solo:

Código:
        $CHANGETARGET_MELEE	=	4096;
	$CHANGETARGET_CHASE	=	8192;
Que 12288 es la suma de 4096 y 8192.
Espero darme a entender. La cosa es que no se me ocurre nada de nada para realizar esto, espero que puedan darme una mano.

Saludos~
  #2 (permalink)  
Antiguo 08/10/2013, 03:21
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Obtener Valores dependiendo de una variable

si 4+128+512=644

Pero

3+129+512=644

tambien y así una lista de combinaciones muy larga, (se puede calcular el numero pero no lo voy a hacer).

Si ademas esos valores tienen que estar en una variable y no en otras como se desprende de los ejemplos que has puesto.... aún se complica mas.


Si lo que buscas es una combinación de tus variables que sumadas den el valor entrado se podria hacer pero no tengo claro que siempre tengas una sola solución con lo que deberías decir que hay que hacer en ese caso.

Luego te recomeindo lo siguiente:

Define que es lo que hay que hacer de forma univoca.

Di que es lo que no sabes hacer, ingresar el valor? Calcular la combinación?....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 08/10/2013 a las 04:03
  #3 (permalink)  
Antiguo 08/10/2013, 05:31
 
Fecha de Ingreso: abril-2013
Ubicación: Barcelona
Mensajes: 78
Antigüedad: 11 años
Puntos: 2
Respuesta: Obtener Valores dependiendo de una variable

quimfv creo que lo que quiere es como un convertidor de numero de decimal a binario.

la lista de números es como el binario, aunque no se si tiene algo que ver o solo son imaginaciones mías.

Si es lo que pienso que es puedes pasarlo a binario con decbin($numero)
  #4 (permalink)  
Antiguo 08/10/2013, 10:35
 
Fecha de Ingreso: diciembre-2011
Mensajes: 21
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Obtener Valores dependiendo de una variable

El resultado siempre existira es decir, el numero que ingresas siempre estara la suma dentro del arreglo, porque que pasaria si ingreso 500??

saludos
  #5 (permalink)  
Antiguo 08/10/2013, 14:50
 
Fecha de Ingreso: octubre-2013
Mensajes: 3
Antigüedad: 10 años, 6 meses
Puntos: 1
Respuesta: Obtener Valores dependiendo de una variable

Muchas gracias a todos por su interés.
Un amigo ya me ayudó a solucionar el problema.

Saludos~
  #6 (permalink)  
Antiguo 08/10/2013, 16:34
Avatar de thewayox  
Fecha de Ingreso: diciembre-2004
Ubicación: Guaro, Vzla
Mensajes: 189
Antigüedad: 19 años, 4 meses
Puntos: 3
Respuesta: Obtener Valores dependiendo de una variable

Sería bueno que coloques aquí la solución... No solo venimos a aprender, sino a aportar para otros. Saludos!
__________________
EL PODER CORROMPE, EL PODER ABSOLUTO CORROMPE ABSOLUTO. EL CONOCIMIENTO ES PODER MAS NO ES SABIDURIA, MANEJALO SABIAMENTE O TE CORROMPE
  #7 (permalink)  
Antiguo 08/10/2013, 16:53
 
Fecha de Ingreso: octubre-2013
Mensajes: 3
Antigüedad: 10 años, 6 meses
Puntos: 1
Respuesta: Obtener Valores dependiendo de una variable

Claro, aquí está la solución:

Código PHP:
<?php
  $flag 
"";
  
$numero 14725//Valor de la DB
  
$array = array(16384,8192,4096,2048,1024,512,256,128,64,32,16,8,4,2,1); //Estados

  
for($i=0$i<=sizeof($array); $i++){

    if(
$array[$i] < $numero){//se calcula que el array sea menor al numero

      
$total[$i] = $array[$i];
      echo 
$total[$i];
      echo 
'<br>';
      
$flag TRUE//bandera para restar

    
}
    elseif(
$array[$i] == $numero){ //se calcula el numero final

      
$total[$i] = $array[$i];
      echo 
$total[$i];
      echo 
'<br>';
      break;

    }

    if(
$flag==TRUE){ //Se resta el numero
      
$numero $numero $array[$i];
      
$flag=FALSE;
    }
  }
 
?>
Al ingresar el valor '14725' en la variable $numero está devolviendo:

Código:
8192
4096
2048
256
128
4
1
Y como el valor de $numero lo estoy tomando de una base de datos que ya está con los valores definidos, siempre se mostrarán los valores correctos.

Saludos~

Etiquetas: dependiendo, registro, tabla, variable
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 17:20.