Foros del Web » Programando para Internet » PHP »

validar variable si contiene un valor.

Estas en el tema de validar variable si contiene un valor. en el foro de PHP en Foros del Web. Hola a todos: Tengo un php en el cual he querido crear unos if con condiciones de una variable en esto he encontrado 2 problemas ...
  #1 (permalink)  
Antiguo 17/01/2007, 18:34
Avatar de BLAH !!  
Fecha de Ingreso: septiembre-2003
Ubicación: Región Metropolitana, Santiago, Chile
Mensajes: 706
Antigüedad: 20 años, 7 meses
Puntos: 16
Mensaje validar variable si contiene un valor.

Hola a todos:

Tengo un php en el cual he querido crear unos if con condiciones de una variable en esto he encontrado 2 problemas :

1) Primero que solo puedo crear un solo if con su respectivo else, ya que los otros no me funcionan, (solo funciona el que esta primero)

<?php
$resultado = $numero
if ($resultado == uno){$resultados="un peso.-";}
else {$resultados="$resultado pesos.-";}
// estos no funcionan
if ($resultado == millón){$resultados="$resultado de pesos.-";}
else {$resultados="$resultado pesos.-";}
if ($resultado == millones){$resultados="$resultado de pesos.-";}
else {$resultados="$resultado pesos.-";}
// hasta aca ... no se como hacer que los 3 funcionen...
echo "$resultados";
?>

2) Si se fijan lo que hago es decir que si $resultado es = a "uno" me ejecute la funcion que le pido... El problema está en que cuando el $número es de 'un millón' para arriba ($numero evaluado como 'un millón'). el valor de $resultado será un millón, no millón como yo lo puse (por lo tanto abria que hacer un operando de comparacion que diga que solo ejecute la función cuando el valor de $resultado CONTENGA la palabra millón). Lo mismo para millones.

He consultado en Javascript pero veo que por ahi no va la respuesta, intente con la funcion switch, elseif .. etc y nada

Muchas Gracias.-
Pablo araya.-
__________________
Adios ...!!!!
  #2 (permalink)  
Antiguo 17/01/2007, 19:27
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 21 años, 3 meses
Puntos: 9
Re: validar variable si contiene un valor.

la verdad ese codigo se ve de TERROR
asi que xq no explicas mejor

de donde salen las variables, q valores (TIPO!) pueden llegara a asumir y que es lo q quiere hacer con las mismas, cual es el resultado deseado

Saludos
  #3 (permalink)  
Antiguo 17/01/2007, 20:00
Avatar de BLAH !!  
Fecha de Ingreso: septiembre-2003
Ubicación: Región Metropolitana, Santiago, Chile
Mensajes: 706
Antigüedad: 20 años, 7 meses
Puntos: 16
Re: validar variable si contiene un valor.

bueno te explico el código .. trate de hacerlo simple pero veo que así fue más complicado.

El código que muestro es parte de un php que toma el valor de un input este es restringido por solo números y envia ese número a este php

Código PHP:
<?php  
//numberswords.php 
header('Content-Type: text/html; charset=iso-8859-1');
    require_once 
'Numbers/Words.php';  
    
$nw = new Numbers_Words();  
    
$resultado $nw->toWords($_GET['numero']);
    echo 
"$resultado<br><br>";
// esto es lo que quiero hacer

if ($resultado == uno){$resultados="un peso.-";}
else {
$resultados="$resultado pesos.-";}

// estos no funcionan
if ($resultado == millon){$resultados="$resultado de pesos.-";}
else {
$resultados="$resultado pesos.-";}
if (
$resultado == millones){$resultados="$resultado de pesos.-";}
else {
$resultados="$resultado pesos.-";}
// hasta aca ... no se como hacer que los 3 funcionen...

echo "$resultados"

?>
Bueno este php toma ese numero de digitos y transforma ese valor en un valor escrito (paso mis numeros a palabras por lo tanto si pongo en $numero un "1" este me mostrara en $resultados "uno".) el problema es que estoy trabajando estos numeros como dinero ... por lo tanto no existe uno pesos. sino que un peso. no existe tampoco un millon pesos, sino que un millon de pesos. lo mismo para todos los millones billones, etc.
__________________
Adios ...!!!!

Última edición por BLAH !!; 17/01/2007 a las 20:21
  #4 (permalink)  
Antiguo 17/01/2007, 20:07
Avatar de -=ArgoN=-  
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona, España
Mensajes: 843
Antigüedad: 18 años, 6 meses
Puntos: 1
Re: validar variable si contiene un valor.

Claro... eso te pasa porque tienes que incluir toda la casuística en un solo "if" es decir, usando el "elseif":

Código PHP:
if($var==1){
   
//$var igual a 1
}elseif($var==2){
   
//$var igual a 2
}elseif($var<0){
   
//$var más pequeño que 0
}elseif($var>100){
   
//$var superior a 100

y asi tantos casos como quieras, porque de lo contrario, si tu pones:

Código PHP:
if($var==1){
  
//$var es 1
}else{
  
//$var es DIFERENTE a 1 (por lo tanto puede ser, 2, inferior a 0, superior a 100, etc...

Saludos,

ArgoN
  #5 (permalink)  
Antiguo 17/01/2007, 20:21
Avatar de BLAH !!  
Fecha de Ingreso: septiembre-2003
Ubicación: Región Metropolitana, Santiago, Chile
Mensajes: 706
Antigüedad: 20 años, 7 meses
Puntos: 16
Re: validar variable si contiene un valor.

si .. funciona !!! gracias .. el problema está es que no puedo poner un valor con espacio ... o sea esto

if($var==hola mundo){
//$var es hola mundo
__________________
Adios ...!!!!
  #6 (permalink)  
Antiguo 17/01/2007, 20:41
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 21 años, 3 meses
Puntos: 9
Re: validar variable si contiene un valor.

GRRR

if($var=='hola mundo')
  #7 (permalink)  
Antiguo 17/01/2007, 20:42
Avatar de -=ArgoN=-  
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona, España
Mensajes: 843
Antigüedad: 18 años, 6 meses
Puntos: 1
Re: validar variable si contiene un valor.

Siempre que compares variables con cadenas de texto hazlo asi:

if($var == "hola mundo"){
//...
}

y no asi:

if($var == hola mundo){
//...
}

porque sino te dará error. Puedes usar las comillas dobles (") o las simples ('), es lo mismo...

ArgoN
  #8 (permalink)  
Antiguo 17/01/2007, 20:45
Avatar de BLAH !!  
Fecha de Ingreso: septiembre-2003
Ubicación: Región Metropolitana, Santiago, Chile
Mensajes: 706
Antigüedad: 20 años, 7 meses
Puntos: 16
De acuerdo Re: validar variable si contiene un valor.

Cita:
Iniciado por BLAH !! Ver Mensaje
2) Si se fijan lo que hago es decir que si $resultado es = a "uno" me ejecute la funcion que le pido... El problema está en que cuando el $número es de 'un millón' para arriba ($numero evaluado como 'un millón'). el valor de $resultado será un millón, no millón como yo lo puse (por lo tanto abria que hacer un operando de comparacion que diga que solo ejecute la función cuando el valor de $resultado CONTENGA la palabra millón). Lo mismo para millones.
Muchas Gracias ... y disculpen ... mi error...... :p alguien sabe el como puedo buscar algo por el estilo al problema 2 xD que no lo he podido encontrar en ninguna pagina referente a operandos de comparacion de variables de php
__________________
Adios ...!!!!
  #9 (permalink)  
Antiguo 17/01/2007, 21:27
Avatar de -=ArgoN=-  
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona, España
Mensajes: 843
Antigüedad: 18 años, 6 meses
Puntos: 1
Re: validar variable si contiene un valor.

No lo entiendo, ¿estás comparando cadenas de texto o números? no me aclaro
  #10 (permalink)  
Antiguo 17/01/2007, 21:28
Avatar de BLAH !!  
Fecha de Ingreso: septiembre-2003
Ubicación: Región Metropolitana, Santiago, Chile
Mensajes: 706
Antigüedad: 20 años, 7 meses
Puntos: 16
Re: validar variable si contiene un valor.

es que el php que tengo pasa mis numeros a texto =) por lo que puedo comparar cualquiera de los dos

estoy tratando de hacerlo de este modo

Código PHP:
....
elseif(
$numero="1000000" OR $numero="2000000"){
   
$resultados="$resultado de pesos.-";

pero no me funciona ... o sea no toma los valores que restrinjo
__________________
Adios ...!!!!
  #11 (permalink)  
Antiguo 17/01/2007, 21:55
Avatar de -=ArgoN=-  
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona, España
Mensajes: 843
Antigüedad: 18 años, 6 meses
Puntos: 1
Re: validar variable si contiene un valor.

Si lo que quieres es que entre dentro de ese "elseif" si el valor está dentro de un rango concreto:

Código PHP:
....
}elseif(
$numero>=1000000 && $numero<=2000000){
   
$resultados="$resultado de pesos.-";

(En este caso, no hace falta que pongas comillas porque se trata de números)
Lo que dice esta condición es lo siguiente:

"si $numero es más grande o igual a 1000000 y a la vez es más pequeño que 2000000, haz tal cosa" o lo que es lo mismo: "si $numero está entre 1000000 y 2000000 (incluidos estos dos numeros), haz tal cosa..."

A ver si te sirve

ArgoN
  #12 (permalink)  
Antiguo 17/01/2007, 23:27
Avatar de BLAH !!  
Fecha de Ingreso: septiembre-2003
Ubicación: Región Metropolitana, Santiago, Chile
Mensajes: 706
Antigüedad: 20 años, 7 meses
Puntos: 16
Re: validar variable si contiene un valor.

ok ... pero si solo quiero que si $numero es igual a 1000000 ó a 2000000 haga tal cosa ????
__________________
Adios ...!!!!
  #13 (permalink)  
Antiguo 19/01/2007, 02:54
Avatar de -=ArgoN=-  
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona, España
Mensajes: 843
Antigüedad: 18 años, 6 meses
Puntos: 1
Re: validar variable si contiene un valor.

Cita:
Iniciado por BLAH !! Ver Mensaje
ok ... pero si solo quiero que si $numero es igual a 1000000 ó a 2000000 haga tal cosa ????
Código PHP:
if($numero == 1000000 || $numero == 2000000){
   
//...

Te recomiendo que leas información acerca operadores lógicos en php. En las faq seguro que hay algo.

Saludos,

ArgoN
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 22:56.