Promoção no ar
Tempo restante da oferta:
10 Horas
19 Min
18 Seg
Assinar →

Condicional IF Else no PHP. Aprenda suas características!

Aprenda como trabalhar com condicional if else no php, as principais características dessa estrutura de decisão para a linguagem e as recomendações da PSR12.

Elton Fonseca 6 anos atrás

Uma das estruturas mais utilizadas em programação é o IF. Nesse artigo vamos aprender como usar a estrutura de condicional IF no PHP. Também falaremos sobre as particularidades dessa estrutura de decisão no PHP e a sintaxe indicada pela PSR-12.

Curso PHP - Fundamentos Conhecer o curso

Como funciona a estrutura de decisão IF

A estrutura de decisão IF executa uma ou mais instruções (linhas de código) caso a expressão passada para ela retorne verdadeiro. O IF no PHP possui as seguintes sintaxes:

Para execução de única instrução

if (expressão) 
	instrução

E para execução de mais de uma instrução usamos um bloco de código representado por {}:

if (expressão) {
	instrução 1
	instrução 2
	instrução N
}

Como usar o condicional IF no PHP

Vamos agora ver na prática como podemos usar o condicional IF no PHP. Vamos supor que precisamos avaliar a idade de um paciente para uso de um remédio. Se a idade for menor que 2 anos não é permitido o uso:

$idade = 1;

if ($idade < 2) {
	echo "uso não permitido";
}

Podemos usar qualquer expressão que retorna um booleano para ser analisado na estrutura de decisão.

If Else no PHP! Executando algo quando a condição não é verdadeira

Existem situações onde queremos executar algo caso a expressão passada para o IF não seja verdadeira. Nesse caso podemos utilizar a diretiva else:

$idade = 17;

if ($idade < 2) {
	echo "uso não permitido";
} else {
	echo "uso sem restrições";
}

No exemplo acima, se a idade não for menor que 2 ele cairá no else e mostrará uso sem restrições.

Elseif. Analisando mais uma expressão

Existem situações onde é necessário avaliar uma segunda expressão caso a primeira não seja verdadeira, nesse caso usamos a diretiva elseif:

$idade = 17;

if ($idade < 2) {
	echo "uso não permitido";
} elseif ($idade > 65) {
	echo "uso somente com prescrição médica";
} else {
	echo "uso sem restrições";
}

Se a expressão do if não retornar verdadeiro, ele analisará o elseif, se a expressão $idade > 65 for verdadeira ele mostrará uso somente com prescrição médica, caso contrário ele cairá no else.

Curso PHP - Recursos essenciais Conhecer o curso

Conversões automáticas do PHP

O PHP é uma linguagem de programação de tipagem fraca, devido a essa característica sempre que possível ele tenta converter os valores automaticamente. Isso também acontece quando passamos algo para o IF que não é uma expressão que retorna um booleano.

Veja o exemplo abaixo:

$string = "Treinaweb";

if ($string) {
	echo "Retornou verdadeiro";
}

No exemplo acima o PHP fez a conversão da string “Treinaweb” para booleano. É como se fizéssemos (bool) $string. Se testarmos isso veremos que retorna verdadeiro:

var_dump((bool) $string); //retorna booleano true

Essa mesma conversão acontece se passarmos outros tipos como número, array, objeto e etc. Na documentação existe uma tabela de comparação PHP. Essas conversões de IF são definidas na coluna boolean : if($x) da tabela:

Tabela de conversão de tipos para condicional IF Else no PHP

Note que itens como números diferentes de 0, strings diferentes de “” e arrays com elementos retornam verdadeiro. Enquanto numero 0, string vazia e array vazio retornam falso.

Sempre use comparação estrita no PHP

Devido a mesma característica da linguagem explicada no tópico anterior, o PHP também tenta realizar conversões quando vamos comparar valores. Por exemplo, ao tentarmos fazer:

$string = "Treinaweb";

if ($string == 0) {
    echo "Retornou verdadeiro";
}

A expressão do IF retornará verdadeiro! Parece estranho, mas na realidade o que acontece é que o php tenta converter a string “treinaweb” para inteiro. Quando tentamos converter uma string para inteiro, o PHP olha no começo dela se tem algum número que pode aproveitar, por exemplo:

$string = "10Treinaweb";

echo (int) $string; //imprime 10

Quando não tem nada no início da string que pode ser aproveitado, o PHP retorna um inteiro 0. Logo 0 é igual a 0 por isso retorna verdadeiro e entra no IF.

Existem os comparadores estritos, que verificam o tipo e o valor. Se o tipo não for igual nos dois comparados ele nem olha o valor. Veja como ficaria o IF anterior:

$string = "Treinaweb";

if ($string === 0) {
    echo "Retornou verdadeiro";
}

Nesse modo como temos uma string e um inteiro ele já retornará falso diretamente. Existe também o operador diferente estrito representado pelo símbolo !==

IF Else no PHP e o padrão PSR-12

As PSRs do PHP definem um conjunto de recomendações para a linguagem de programação PHP. A PSR-12 mais especificamente define o padrão para codificação. Segundo ela o IF Else no PHP deve seguir as seguintes regras:

  • Obrigatório: Espaço após a palavra chave da estrutura;
  • Proibido: Espaço após o parêntese de abertura;
  • Proibido: Espaço antes do fechamento do parêntese;
  • Obrigatório: O corpo da estrutura de controle deve estar envolvido por chaves, mesmo que possua só uma instrução;
  • Obrigatório: Espaço entre o parêntese de fechamento e a abertura da tag;
  • Obrigatório: Uma identação no corpo da estrutura;
  • Obrigatório: O corpo deve estar uma linha depois da abertura da chave
  • Obrigatório: A chave de fechamento deve estar uma linha após o corpo;

O que vai resultar em um código formatado do seguinte modo:

if ($idade < 2) {
	echo "uso não permitido";
} elseif ($idade > 65) {
	echo "uso somente com prescrição médica";
} else {
	echo "uso sem restrições";
}

Vale ressaltar que pela recomendação nunca devemos usar IF sem o bloco {}, deste modo:

if ($idade > 2)
	echo "uso sem restrições";

Formação Desenvolvedor PHP Júnior Conhecer a formação

Considerações finais

A estrutura de decisão IF possui uma sintaxe muito simples e fácil no PHP, porém é importante nos atentarmos aos detalhes específicos da linguagem, como, as conversões automáticas, uso de comparadores estritos ao invés de comparadores simples e as recomendações da PSR-12.

Continue lendo

Artigos relacionados

Um ano de acesso total para você viver de programação.

Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro console.log ao mercado de trabalho.

  • 1 ano de acesso a todos os cursos
  • Cursos novos toda semana
  • Suporte direto com professores
  • Plano de carreira personalizado
  • Certificados digitais inclusos
  • Aplicativos para Android e iOS, com acesso offline
Garantia incondicional de satisfação

Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

Acesso completo a todos os cursos e dezenas de Formações.

12 meses
Economize R$ 840,00 54% OFF

de 12x R$ 129,00 por apenas

12x R$ 59,00

sem juros no cartão de crédito ou R$ 599,00 à vista

Oferta termina em 10h 19min 18s

  • Acesso imediato e ilimitado durante 1 ano.
  • Plano de carreira personalizado.
  • Suporte direto com professores.
  • E muito mais!
Matricule-se agora