PHP para Iniciantes: Tipos de Dados Primitivos - Booleanos

Conforme mencionei no artigo anterior, após destacarmos todos os tipos de dados primitivos existentes no PHP, agora iremos fazer alguns aprofundamentos sobre cada tipo.

Nós só temos um problema: tudo o que expliquei sobre Booleano superficialmente já é a explicação aprofundada. Ainda assim, acredito fortemente que a repetição ajuda a fixação. Além disso, ao invés de dar um CTRL+C, eu vou tentar fazer analogias como forma de aprofundamento e falar um pouco de história. Que tal?

Booleanos (boolean)

Sendo o tipo escalar mais simples de todos, um booleano representa um teste de verdade, onde seus únicos valores possíveis são true ou false. Binariamente, esses valores representam os números 1 ou 0, respectivamente.

Mas Kiko, por que raios isso se chama Booleano?!

Ah, claro, vamos trazer alguns significados. O nome booleano é uma espécie de tradução portuguesa para o nome boolean. Já este, é uma homenagem ao matemático e filósofo britânico George Boole. Ele definiu um sistema de lógica algébrica pela primeira vez na metade do século XIX. Esse sistema é chamado de Álgebra Booliana - ou Álgebra de Boole - e todas as operações presentes nesse sistema de lógica possuem estruturas perfeitas para validação de afirmações. Por isso, tais definições são associadas aos conceitos de "verdade" ou "falso".

Ou seja, nós da computação, puxamos essa perninha mais da álgebra em si do que do George, de fato.

Se você nunca ouviu falar de nada disso, recomendo que estude imediatamente. Isso mesmo, pode parar de ler meu blog e ir estudar lógica! É inaceitável ver alguém estudar programação sem ter esse conhecimento, até porque muito do que desenvolvemos está diretamente ligado a sua capacidade de construir estruturas lógicas otimizadas.

Menos obscuridades e mais afirmações é o caminho de sucesso.

E para encerrar com um exemplo:

<?php
if ($entrada && true) {
    echo "Simmmmmm! ";
}
echo "-SQN";

Reflita com essas perguntas antes de ver as respostas. O que será impresso se:

  • $entrada = true?
  • $entrada = false?

Pensou? Bem, vamos às respostas:

  • Simmmmmm! -SQN
  • -SQN

Se você não entendeu nada, eu realmente espero que você estude lógica antes, pois nessa condicional tem uma operação AND, que na lógica booleana temos que ele resulta true se, e somente se, as duas afirmações são true.

Por isso a tal importância de aprender lógica. Toda condicional espera como resultado booleano. Mesmo que você não dê um, o interpretador tentará converter o que você colocou nele para booleano, assim as condições irão se resumir a:

  • se true, faça isso
  • se false, tente a próxima condição (elseif) ou o recurso alternativo (else), se existir

E é isso! Sei que foi um artigo bem curto dessa vez mas é porque o conteúdo é bem mais simples mesmo. Se esqueci de mencionar algum ponto, podem comentar!

Inté!