Ir para conteúdo

POWERED BY:

Arquivado

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

Maykel-ctba

Dúvida em condicional (&&)

Recommended Posts

Galera,

Tenho duas possíveis váriáveis: $_SESSION['freteCEP'] e $_SESSION['freteTipo'].

Quero que quando uma das duas não estiver setada ou estiver vazia, ele caia dentro do IF.

No exemplo que estou tendo problemas, a variável FreteCEP está setada (com o valor 82840180), e FreteTipo não foi criada.

Neste caso, deveria cair no IF, já que FreteTipo não foi criada.

Mas a lógica que estou fazendo faz com que caia no else, e não consigo encontrar o que estou errando.

if(
	(
		!isset($_SESSION['FreteCEP']) && 
		!isset($_SESSION['FreteTipo'])
	)
	&&
	(
		empty($_SESSION['FreteCEP']) && 
		empty($_SESSION['FreteTipo'])
	)
)
{
    ENTRA AQUI
}

Podem me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites
Você não deve usar "&&" (que significa "e"), você deve utilizar "||" (que significa "ou"), pois você quer verificar se a variável FreteCEP OU a variável FreteTipo está vazia, ou seja, se uma das duas está vazia. Se utiliza "&&" ("e"), só vai entrar no if se ambas estiverem vazias (FreteCEP e FreteTipo).




// se $x E $y estão vazias... ou seja, somente se ambas estão vazias
if(empty($x) && empty($y)){
}

// se $x OU $y estão vazias... ou seja, se uma das duas estiverem vazias
if(empty($x) || empty($y)){
}



Além disso, nesse caso, você não precisa utilizar a função "isset" junto com a "empty", porque a isset só verifica se a variável existe, e isso a empty também faz:



Nenhum aviso é gerado se a variável não existir. Isso significa que a função empty() é essencialmente equivalente a !isset($var) || $var == false.

Retorna FALSE se var existir e não estiver vazia e não conter um valor zerado. Caso contrário retornará TRUE.


Portanto, utilize apenas a empty que é mais prático e fica mais fácil o entendimento:




if(empty($_SESSION['FreteCEP']) || empty($_SESSION['FreteTipo'])){
ENTRA AQUI
}

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.