Foros del Web » Programando para Internet » PHP »

Forzar una variable

Estas en el tema de Forzar una variable en el foro de PHP en Foros del Web. Hola. Leyendo un poco en un manual de PHP me encontre con el concepto de "forzar" una variable y no termino de entender que es ...
  #1 (permalink)  
Antiguo 30/10/2008, 10:44
sjj
 
Fecha de Ingreso: octubre-2008
Mensajes: 213
Antigüedad: 15 años, 5 meses
Puntos: 12
Forzar una variable

Hola. Leyendo un poco en un manual de PHP me encontre con el concepto de "forzar" una variable y no termino de entender que es lo que eso quiere decir o para que se puede utilizar.
Esto es lo que dice el manual:

En cualquier caso, podemos forzar una variable para que cambie de tipo con la función setType().
setType($variable,"nuevo_tipo");
la función setType() actualiza el tipo de $variable a "nuevo_tipo" y devuelve un boleano indicando si hubo éxito o no en la conversión.

Cual seria el objetivo de forzar una variable? Alguien podria esclarecerme? No llego a comprenderlo
Muchas Gracias y Saludos
  #2 (permalink)  
Antiguo 30/10/2008, 10:55
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Respuesta: Forzar una variable

el objetivo seria que vos necesitas un tipo que sea estrictamente de un tipo
ejemplo

$_GET['id']; // identificador de mi noticia

mysql_query("select * from noticias where id='''.$_GET['id']."'");

si algun chistoso me pone un sqlinject me jode la consulta
ahroa si yo le digo a $_GET['id']

$_GET['id']=(int) $_GET['id']; //forzar a entero
$_GET['id']=intval( $_GET['id']); //que lo cambie por entero
$_GET['id']=preg_replace('/([^0-9]+)/','', $_GET['id']); //sacar todo lo que no sea numero

bueno aqui vamos a mejorar en gran medida las posiblidades de que nuestro $_GET['id'] sea un numero y podamos usarlo con mayor tranquilidad

otro ejemplo podria ser el tipo de parametro que necesitamos por ejemplo

array_merge(); //todos los parametros que pasemos tiene q ser si o si del tipo array
supongamos

$a1=array('algo');
$a2[]=33;
$a3=resultado_de_funcion();//puede devolver un array o algun otro tipo (como false si fallo)
$array=array_merge($a1,$a2,(array)$a3);
aqui forzamos a $a3 a que sin importar el tip que recibio de la funcion lo tome como un array para que nuestra funcion array_merge no de error

bueno espero que halla quedado claro
saludos
__________________
Degiovanni Emilio
developtus.com
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 07:59.