Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

xploit

validacao de caracteres

Mensagens Recomendadas

xploit    3
xploit

Boas pessoal eu gostaria de saber como posso validar uma variavel.

Ela por norma vem com valores numéricos positivos, ou seja $conta="20", eu cria que sempre que ela viesse com o caracter negativo do resultado da conta que executa-se uma accao:

se for $conta="-80" faz isto isto e aquilo ou(else) aquilo e aquilo .

Obrigado Cumps

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
softklin    12
softklin

Tão simples como o pmg sugeriu. xploit, não sei se será de não trabalhares com PHP à algum tempo, ou de te teres iniciado agora, mas eu recomendava-te a dar umas voltas por uns tutoriais, para relembrar alguns conceitos.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
xploit    3
xploit

acho que nao me expliquei bem, eu quero e fazer algo deste tipo pesquisei no google e encontrei o que cria já agora deixo aqui o que era:

if (preg_match("[-]", $varivel)){
echo "tem caracter -";
}else{ echo "a sua varivavel nao tem carater -";}

Obrigado pela ajuda.

Cumprimentos

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
softklin    12
softklin

Pois, inicialmente deu a entender que pretendias distinguir um número positivo de um negativo... Mas aí o contexto já não tem a ver com números inteiros, mas sim com strings e caracteres...

Já que o fim é strings, usa a solução do tirácio, uma vez que é desperdiçar recursos pesquisar um simples hifen com essa função (vê as notas da função preg_match)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
xploit    3
xploit

testei o código do tirácio e nao esta a resultar pus assim:

if(strpos($contal, '-') === false){

echo "não tem o -";

}else{echo "tem o -";}

o que estará mal? Cumps

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pmg    102
pmg

Mas a variável afinal como é que se chama?

é "$conta", "$varivel", ou "$contal"?

Mete o error_reporting "mais para cima", para que o PHP te avise sempre que uses uma variável não inicializada.

<?php
error_reporting(E_ALL);
/* resto do script */
?>

Também o podes fazer no php.ini. Normalmente tenho dois php.inis diferentes: um para desenvolvimento (com as ajudas todas ligadas) e outro para o produto final.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
xploit    3
xploit

chama se $conta, e nessa variavel quero que quando ela vier com o "-" faca um codigo else outro codigo.. eu fiz assim e nao deu com esse exemplo do tirácio

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
softklin    12
softklin

O exemplo do tirácio está a funcionar perfeitamente, PHP 5(.2.6)

<?php
if (strpos($conta, '-') === false) {
	echo "não tem o -";
} else {
	echo "tem o -";
}
?>

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
djthyrax    11
djthyrax

E que tal:

$a = "-69";

if((int)$a < 0) {
echo "negativo";
} else {
echo "positivo";
}

?

O cast para int não é necessário, é feito automaticamente pela linguagem (e isso já foi sugerido lá em cima). Mas sim, servia igualmente para isso. :P

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Nazgulled    8
Nazgulled

Se o cast é feito automaticamente qual é a necessidade de andar com strpos() e etc? Não faz sentido nenhum ver se uma string tem o "-" para dizer que é um número negativo, basta ver se o número é ou não negativo. Convertendo-o para inteiro se for realmente necessário.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
djthyrax    11
djthyrax

Se o cast é feito automaticamente qual é a necessidade de andar com strpos() e etc? Não faz sentido nenhum ver se uma string tem o "-" para dizer que é um número negativo, basta ver se o número é ou não negativo. Convertendo-o para inteiro se for realmente necessário.

A solução que dei foi apenas uma entre muitas. Se a variável for " -9" acho que o cast já não é feito correctamente, daí ter dado a ideia do strpos().

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Nazgulled    8
Nazgulled

Mas a solução que deste, para mim, é reinventar a roda, não faz qualquer sentido. Mas por acaso, o cast é feito correctamente nessa situação (entre outras).

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade