Ver Mensaje Individual
  #3 (permalink)  
Antiguo 27/04/2005, 09:13
Avatar de yoseman
yoseman
 
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 5 meses
Puntos: 5
Yo tengo una pequeña función que comprueba si una variable es del tipo que se permita y tambien comprueba minimo-maximo de la siguiente forma:

entero o decimal:compara si esta en el intervalo [$min;$max]
string: comprueba si la longitud de la cadena esta entre $min y $max
array: comprueba si el número de elementos del array está entre $min y $max

Pero claro no es exactamente lo mismo además de que falta lo del mail (creo que eso esta en las faqs)

De todas formas te lo pongo por si te sirve de algo:

Código PHP:
<?
// los tipos que puede devolver gettype son todos estos
// $tipos_permitidos=array("integer","double","string","array","object","unknown type");

FUNCTION verifica_variable($mivariable,$tipos_permitidos,$min,$max)
{
$comprueba_tipo_permitido=IN_ARRAY(GETTYPE($mivariable),$tipos_permitidos);
$que_hacer_si_tipo_desconocido=FALSE//FALSE ->ERROR    TRUE ->SEGUIR ADELANTE
    
SWITCH (GETTYPE($mivariable))
        {
        CASE 
"integer" 
        CASE 
"double" :         
            
$comprueba_tipo_permitido*=(($min<=$mivariable) && ($max>=$mivariable));
            break;
        CASE 
"string" 
            
$comprueba_tipo_permitido*=(($min<=(STRLEN($mivariable))) && ($max>=(STRLEN($mivariable))));
            break;
        CASE 
"array" :
            
$comprueba_tipo_permitido*=(($min<=COUNT($mivariable)) && ($max>=COUNT($mivariable)));
            break;
        CASE(
"unknown type") :
            
$comprueba_tipo_permitido*=$que_hacer_si_tipo_desconocido;
            break;
        DEFAULT:
            
$comprueba_tipo_permitido=FALSE;
        }

RETURN (
$comprueba_tipo_permitido);
}
$tipos_permitidos=array("integer","double","string","array","object","unknown type");
(no sé que diantres pasa que me pone espacios de mas en algunas partes :S)



Es distinto, porque tu pasas una varialbe del tipo que sea y un array con los tipos permitidos, y la función comprueba si está dentro de los requerimientos de min y max además de los tipos permitidos.

Salu2 ;)
__________________
[+]
[+]