
Is_int
#1
Posted 18/02/2006, 08:38
eu to passando um valor por querystring e mandano verifica se ela eh inteira ou nao...
so q o id q vem do get pode estar recebendo "all" ou numeros...se for numero eu tenho q tratar de uma forma se for "all" eu trato de outra forma...so q qnd eu uso a fç is_int ele ta falando q o numero n eh numero, esta interpretando como string...
pq?1
"As dúvidas engrandecem nossa sabedoria, mas não basta somente tirá-las, temos que entendê-las"
#2
Posted 18/02/2006, 08:45
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29
#3
Posted 18/02/2006, 09:40

is_int -- Informa se a variável é um inteiro
isso já diz tudo
faça o que o Eclesiastes disse antes de usa-la
Para leitura: http://www.php.net/m...tion.is-int.php
T+
Edição feita por: Goku Jr, 18/02/2006, 09:41.
PALMEIRAS - Primeiro campeão do mundo em 1951
#4
Posted 18/02/2006, 13:20
http://www.php.net/is-numeric
http://www.php.net/ctype-digit
Daí não precisará do uso da função intval().
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29
#5
Posted 19/02/2006, 13:49
$i = "2"; if (is_int($i)) { echo "é inteiro"; } else { echo "é string"; }
vai sempre retornar string com as aspas em $i.
$i = 2; if (is_int($i)) { echo "é inteiro"; } else { echo "é string"; }
vai sempre retornar numero inteiro sem aspas
mas com:
$i = "2"; if (is_numeric($i)) { echo "é inteiro"; } else { echo "é string"; }
funciona corretamente
Edição feita por: comunik, 19/02/2006, 13:51.
#6
Posted 19/02/2006, 15:25

Pode-se usar a função is_int() também, mas para isto devemos definir o tipo da variável, não deixando este tipo ser definido automaticamente pelo PHP. Haveriam duas formas:
- Type-casting
Exemplo:
<?php $var = (int)$_GET['anything']; ?>
- settype()
Exemplo:
<?php settype($_GET['anything'], 'int'); ?>

[]’s

#7
Posted 22/02/2006, 16:20
Goku Jr, eu sei q o nome da fç diz td...o problema eh q nao estou conseguindo implementa-la...tenta ai pra vc ver...
passo um ID por GET ?pagina=3 e tenta verificar direto se ele eh int:P
nao vai dar...
Eclesiastes, com o intval antes tb nao deu...
alguem mais?!

*****EDITADO******
O único "problema", se é que podemos chamar de problema neste caso, é que a função is_numeric() não só aceita valores inteiros como ponto flutuante também. ponder.gif
usei o numeric msm..atende as minhas necessidades.....mas queria deixar registrado q questao de um inteiro por get ser reconhecido como str...o q poderiamos fazer?!

Edição feita por: gonacts, 22/02/2006, 16:24.
"As dúvidas engrandecem nossa sabedoria, mas não basta somente tirá-las, temos que entendê-las"
#8
Posted 22/02/2006, 18:15
<?php if ( is_numeric($_GET["teste"]) ) print "É numérico"; else print "Não é numérico"; // arquivo.php?teste=3 // Saída: É numérico ?>
Não é isso não? Aqui funcionou.

#9
Posted 23/02/2006, 08:28
a parada eh q o is_int nao funfa fazendo desse jeito ai
"As dúvidas engrandecem nossa sabedoria, mas não basta somente tirá-las, temos que entendê-las"
#10
Posted 23/02/2006, 08:35
hehehe
mas se já tá resolvido, beleza

<?php $teste = $_GET[teste]*1; if ( is_int($teste) ) print "É numérico"; else print "Não é numérico"; ?>
será que gera warning? nao testei... mas acho que rola
se gerar warning, ehhehe... vc verifica com is_numeric... sendo numerico vc multiplica por 1 e passa pela is_int...
gambiarra MOR!
๑۩۞۩๑Let the Carnage Begin!!๑۩۞۩๑
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)