Buenas, estoy haciendo el último ejercicio y quería saber como obtener el tipo de variable introducida en un label de un formulario, porque obteniendolo normalmente con gettype siempre da string,, ya que esta en una variable entrre comillas digamos.
Saludos
Claro man, cuando encierras un valor entre comillas simples o dobles, estas indicando que el contenido es tipo string.
$var = 5151;
$boolean = true;
El primero es una variable cuyo valor es tipo int (enteros) y el segundo es una variable booleana.
Saludos.
Creo que no me he explicado bien. lo que quiero hacer es esto:
<form action="" method="POST">
Introduce lo que quieras: <input type="text" name="msg" /><br><br>
<input type="submit" name="boton" value="Enviar" />
</form>
<?php
$msg = $_POST['msg'];
if(is_int($msg)){
echo 'Ahora tiene un numero mas'.++$msg;
}
?>
Pero claro, siempre devuelve tipo string, entonces aunque solo introduzcas en el campo de texto números, no te lo va a evaluar como integer, entonces me preguntaba como solucionarlo
Saludos y gracias contestar rápido ;)
Puedes establecer el tipo de valor de una variable utilizando settype() (http://www.php.net/manual/es/function.settype.php).
<form action="" method="POST">
Introduce lo que quieras: <input type="text" name="msg" /><br><br>
<input type="submit" name="boton" value="Enviar" />
</form>
<?php
$msg = $_POST['msg'];
settype($msg, "integer");
if(is_int($msg)){
echo 'Ahora tiene un numero mas'.++$msg;
}
?>
Saludos.
Si pero yo no quiero cambiar el tipo de variable, sino saber que tipo es, según lo que el usuario escriba en el campo de texto.
Alomejor en php no se puede hacer, de php se lo básico
He buscado en google y tampoco he encontrado nada
Saludos
Al parecer todos los datos que se ingresan desde un formulario, llegan como tipo string.
Si no quieres establecer el tipo de valor que contiene una variable que seria lo mas lógico, puedes comprobar que solo contenga numeros usando expresiones regulares pero entenderías menos xD.
Todo valor pasado por un formulario tanto método POST como GET regresará tipo string. Pero ¿qué pasa si queremos comprobar que tipo de variable es?, para eso existen las funciones que deje en el taller, un ejemplo de uso:
<?php
if(isset($_POST['boton']))
{
if(is_numeric($_POST['msg'])):
echo 'Es numérico';
else:
echo 'Es string';
endif;
}
?>
<form action="" method="POST">
Introduce lo que quieras: <input type="text" name="msg" /><br><br>
<input type="submit" name="boton" value="Enviar" />
</form>
Es decir, puedes utilizar varias funciones como is_numeric, is_string, is_bool, etc, inclusive puedes checar si dentro del valor del formulario viene alguna letra o carácter no numérico para seguir con la condicional, saludos.
Ahora si, gracias a los dos, no me acurdaba de la función is_numeric :-[
Saludos ya pueden cerrar el tema si quieren