Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
xploit

validacao de caracteres

Recommended Posts

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

Share this post


Link to post
Share on other 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!

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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!

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other sites
xploit

Ok obrigado pela dica softclean, irei utilizar o teu código tirácio já que é mais apropriado a situaçao.

Cumprimentos

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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!

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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!

Share this post


Link to post
Share on other sites
xploit

teem razao, peço imensa desculpa principalmente ao tirácio o script funciona perfeitamente =)

Obrigado

Share this post


Link to post
Share on other sites
Nazgulled

E que tal:

$a = "-69";

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

?

Share this post


Link to post
Share on other 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!

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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!

Share this post


Link to post
Share on other 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).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.