Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

horacio2009

if condição AND condição 2

Recommended Posts

bom dia a todos!!!

preciso saber como faço para anilsar 2 condições ao mesmo tempo ...tenho feito assim:

mas não tá funcionando direito, sempre me mostra o mesmo resultado...

if($choice == "1" AND $choice == "2" )
echo"0800";

else
echo"compra";
Obrigado a todos pela anteção!!!

Horácio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que você se enganou ai em... como uma coisa pode ser outra coisa ao mesmo tempo? hehehehe

E que ao usar 'and' você esta pedindo para que as duas afirmações sejam verdadeiras, e como não tem como a variável $choice ser 1 e 2 ao mesmo tempo, o resultado será sempre falso.

 

Nesse caso você tem que usar 'OR' para dar certo.

http://pt.wikipedia.org/wiki/Tabela_verdade

 

Flws

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, verifica aí a sua lógica, pois não tem como uma variável ser, ao mesmo tempo, 1 e 2.

Você está utilizando o conector AND que significa que as duas condições têm que ser verdadeiras e neste seu caso ela nunca será igual a 1 e igual a 2 ao mesmo tempo.

 

Talvez você deva usar o OR. Se você quiser saber se ela é 1 ou 2, basta fazer

 

if ($choice=='1' OR $choice=='2')

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em vez de AND use &&, e vem vez de OR use ||.

E outra, Numero é Numero, String é String.

 

Se voce está fazendo:

if($choice == '1')

Ele vai comparar $choice com uma string que seria o 1.

Mas o $choice é uma string ?

Se nao for, nao precisa das aspas no numero.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em vez de AND use &&, e vem vez de OR use ||.

E outra, Numero é Numero, String é String.

 

Se voce está fazendo:

if($choice == '1')

Ele vai comparar $choice com uma string que seria o 1.

Mas o $choice é uma string ?

Se nao for, nao precisa das aspas no numero.

 

 

apenas em comparações estritas

$num = (integer)1;
var_dump($num == 1); // (boolean)true
var_dump($num == '1'); // (boolean)true
var_dump($num === 1); // (boolean)true
var_dump($num === '1'); // (boolean)false

Compartilhar este post


Link para o post
Compartilhar em outros sites

Senhores,

 

Todos disseram exatamente a mesma coisa e o autor do tópico ainda não se posicionou.

 

Aguardem o autor do tópico se posicionar antes de postarem novamente, ou apenas postem se realmente acreditarem que estarão contribuindo com o tópico e não floodando-o.

Compartilhar este post


Link para o post
Compartilhar em outros sites

poxa, quantas respostas!!!em primeiro lugar, obrigado pela atenção...

em prumeiro lugar, estava certo...realmente uma variável não pode ter dois valores...

o caso é que eu apartir de pesquisas, crio variaveis

se linhas da pesquisa 1 for maior que X = $choice='1'

se linhas da pesquisa 2 for maior que X = $choice='2'

se linhas da pesquisa 3 for maior que X = $choice='3'

estou fazendo isso, para ter parametros de prioridade dentro de uma pesquisa, mas não estou tendo muito resultado...estou uando else if para, dependendo do valor, eu crio uma regra diferente de consulta em banco de dados...

é mais ou menos isso...

o caso é que não está funcionando...

isso da comparação foi super bem explicado...por outro lado, isso da pesquisa não, de toda forma, estou certo que a pergunta inicial foi bem respondida!!

opbrigado a todos por enquanto...

Horácio

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.