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

xploit

validacao de caracteres

Mensagens Recomendadas

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


Ligação para a mensagem
Partilhar noutros sites
pmg
if ($conta < 0) {
  /* isto e aquilo */
} else {
  /* aquilo e aquilo */
}


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
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.


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
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


Ligação para a mensagem
Partilhar noutros sites
djthyrax

Uma entre muitas soluções:

if(strpos($variavel, '-') === false) echo "não tem o -";


Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
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)


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
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


Ligação para a mensagem
Partilhar noutros sites
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.


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
softklin

Em principio será mesmo do "l" que deixaste no fim do nome da variável (contal;)


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
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


Ligação para a mensagem
Partilhar noutros sites
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 -";
}
?>


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
djthyrax

xploit, tu tavas a passar ao strpos $contal e não $conta


Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
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

Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
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


Ligação para a mensagem
Partilhar noutros sites
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().

Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
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


Ligação 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. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.