Foros del Web » Programando para Internet » PHP »

comparar un valor con los de un array

Estas en el tema de comparar un valor con los de un array en el foro de PHP en Foros del Web. hola forosdelweb, lo que intento hacer es que se ejecuten una serie de funciones sencillas en caso de que la variable $v1 no sea igual ...
  #1 (permalink)  
Antiguo 30/09/2009, 23:55
Avatar de zaetoner  
Fecha de Ingreso: noviembre-2007
Ubicación: La ciudad de México
Mensajes: 607
Antigüedad: 17 años
Puntos: 30
comparar un valor con los de un array

hola forosdelweb, lo que intento hacer es que se ejecuten una serie de funciones sencillas en caso de que la variable $v1 no sea igual que algun valor del array

Código PHP:
<?php
$arrayopciones1
=array("panel""registro""login");

if(!(
$v1==$arrayopciones1)){
$usuario=$v1;
$consultanick=mysql_query("SELECT nick FROM usuarios WHERE nick='$usuario'");
$numerodenick=mysql_num_rows($consultanick);
$verificaexistenciausuario=1;
}
?>
lo que sucede es que ejecuta el codigo si $v1 es igual a algun valor del array y tambien si no lo es
__________________
...

Última edición por zaetoner; 01/10/2009 a las 00:42
  #2 (permalink)  
Antiguo 01/10/2009, 03:05
 
Fecha de Ingreso: abril-2007
Mensajes: 114
Antigüedad: 17 años, 7 meses
Puntos: 2
Respuesta: comparar un valor con los de un array

El comportamiento de tu script es normal, pues estás comparando un valor ($v1) con un array ($arrayopciones1) y a no ser que tu variable $v1 sea un array idéntico el resultado va a ser false, que con el "!" lo estás convirtiendo en true. Por eso se ejecuta siempre la sentencia del if.

Para realizar lo que tú quieres tienes que recorrer el array elemento a elemento e ir comprobando si alguno de esos elementos coincide con el valor que estás comparando. Si coincide, modificas una variable ($encontrado) que indique que lo ha encontrado poniéndola a true. Y tras salir del bucle compruebas si esa variable vale true o si por el contrario mantiene su valor original (que será false). Algo así:

Código php:
Ver original
  1. $encontrado=false;
  2. $arrayopciones1=array("panel", "registro", "login");
  3.  
  4. foreach($arrayopciones1 as $elemento){
  5.      if ($elemento==$v1)
  6.             $encontrado=true;
  7. }
  8.  
  9. if ($encontrado){
  10.    //Aquí ejecutas el código que quieras para cuando coincide alguno de los elementos
  11.  
  12. }

Espero que te sirva, y sobretodo que lo hayas entendido.

Un saludo
  #3 (permalink)  
Antiguo 01/10/2009, 03:33
 
Fecha de Ingreso: diciembre-2007
Mensajes: 28
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: comparar un valor con los de un array

bueno espero te sirva esto.

$arrayopciones1=array("panel", "registro", "login");

if (in_array($v1, $arrayopciones1) ) {
$salida=true;///ejecutas lo que quieres
}
else{
$salida=false;
}
  #4 (permalink)  
Antiguo 01/10/2009, 14:07
Avatar de zaetoner  
Fecha de Ingreso: noviembre-2007
Ubicación: La ciudad de México
Mensajes: 607
Antigüedad: 17 años
Puntos: 30
Respuesta: comparar un valor con los de un array

muchas gracias por responder soy algo novato por lo que no conosia array_search() lo utilize y el script funciono (como yo queria) muchas gracias a todos pueden cerrar el tema
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 22:15.