Foros del Web » Programando para Internet » PHP »

Problema con arrays

Estas en el tema de Problema con arrays en el foro de PHP en Foros del Web. Hola tengo un prolema en el siguiente array: Código PHP: if ( $arResult [ "PERSON_TYPE" ] !=  18 ) { $valida_boucher  = array(           0 =>  $_REQUEST [ "ORDER_PROP_33" ...
  #1 (permalink)  
Antiguo 14/10/2008, 08:54
obi
 
Fecha de Ingreso: agosto-2006
Mensajes: 4
Antigüedad: 17 años, 8 meses
Puntos: 0
Problema con arrays

Hola tengo un prolema en el siguiente array:

Código PHP:

if ($arResult["PERSON_TYPE"] != 18) {
$valida_boucher = array( 
        
0=> $_REQUEST["ORDER_PROP_33"], 
        
1=> $_REQUEST["ORDER_PROP_19"], 
        ); 
        foreach( 
$valida_boucher as $checkCode ) { 
   echo 
"Código a validar: $checkCode<br>"



//$checkCode = $_REQUEST["ORDER_PROP_19"];     
    
if(eregi("[a-z]{3}-[0-9]{4}",$checkCode)){
        echo 
"<div style=\"color:#FF0000\">El array es correcto </div>";   } 
Como pueden ver lo que necesito es validar las mascara de entrada del valor de la variable $checkCode (eregi("[a-z]{3}-[0-9]{4}",$checkCode), pero esa valor puede provenir de $_REQUEST["ORDER_PROP_33"] o de $_REQUEST["ORDER_PROP_19"] o de $_REQUEST["ORDER_PROP_34"] (o de cualquier otra que se ingrese en el array).
Ahora, el problema que tengo es que $checkCode sólo mantiene el último valor, es decr el valor de $_REQUEST["ORDER_PROP_19"] par este caso. Necesito que $checkCode tenga el valor de cualquiera de los valores declarados para las variables del array.
Cita:
$_REQUEST["ORDER_PROP_33"] o de $_REQUEST["ORDER_PROP_19"] o de $_REQUEST["ORDER_PROP_34"] (o de cualquier otra que se ingrese en el array).
Espero haberme explicado bien.

Muchas grgacias de antemano
  #2 (permalink)  
Antiguo 14/10/2008, 08:57
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: Problema con arrays

Umm, no he entendido muy bien lo que quieres.... pero prueba a meter el último if dentro del foreach...
  #3 (permalink)  
Antiguo 14/10/2008, 09:01
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Problema con arrays

Que tal obi, debes hacer la comparación de la expresión regular dentro del ciclo foreach, ahora pienso que deberías hacer la comparación antes de agregar los elementos al array, así vas a la fija que tu array no contiene datos erroneos.



Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
  #4 (permalink)  
Antiguo 14/10/2008, 09:23
obi
 
Fecha de Ingreso: agosto-2006
Mensajes: 4
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: Problema con arrays

Holas, muchas gracias, creo que no me expliqué bien:
$_REQUEST["ORDER_PROP_33"] es un campo de un formulario, de la misma forma $_REQUEST["ORDER_PROP_19"] es un campo de un formulario. El visitante del sitio puede encontrar en el formualrio (segun varios otros parámetros) cualqueira de estos dos campos (o posiblemente otros campos $_REQUEST["ORDER_PROP_35"], $_REQUEST["ORDER_PROP_150"] (u otros).
Ahora, mediante mi script lo que necesito saber es si el formato de ingreso de datos a los campos
Cita:
$_REQUEST["ORDER_PROP_33"] o de $_REQUEST["ORDER_PROP_19"] o de $_REQUEST["ORDER_PROP_34"] (o de cualquier otra que se ingrese en el array).
es correctos.

Espero haberme hecho entender mejor, no soy muy experimentado en PHP; e intenté el meter la comparación en el campo de accion de foreach pero no me funionó.
  #5 (permalink)  
Antiguo 14/10/2008, 09:38
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Problema con arrays

Bueno es ese caso podrias hacer algo como esto, recoges todos los posibles datos que el usuario seleccionara y si son correctos en su formato los agregas a un array, ahora te recomiendo utilizes preg_match()
Código php:
Ver original
  1. $datos = array();
  2. foreach($_REQUEST as $checkCode){    
  3.     if(preg_match('/^[a-z]{3}-[0-9]{4}$/', $checkCode)){
  4.         $datos[] = $checkCode;
  5.         echo "<div style=\"color:#FF0000\">El array es correcto </div>"; }}
  6. print_r($datos); // Imprimes el array

Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"

Última edición por Carlojas; 24/10/2008 a las 15:20
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 11:51.