terça-feira, 21 de dezembro de 2021

Tipos de dados ou DATA types do PHP

Um dos principais tipo de dados é o tipo string pode ser uma palavra ou uma frase, o PHP trata a string como um texto comum e como uma frase ou texto terá espaços então é preciso definir onde começa e onde termina esse texto, por isso que é necessário delimitar a string com duas aspas duplas ou com duas aspas simples. 

Para exemplificar: 

<?php $string = "valor"; ?>

Para a gente verificar o tipo de dado, se o conteúdo da variável é realmente uma string, existe a função gettype que retorna o tipo de dado repassado a função. Para demonstrar passo para a gettype a variável string e dou saída com o echo para que retorno do gettype saia no navegador. Ficando assim:

<?php

$string = "valor";
echo gettype($string);
//imprime string na tela

?>

E o retorno é string porque aqui temos uma frase delimitada por aspas duplas, existe uma variação de sintaxe chamada de heredoc. A heredoc é uma sintaxe para strings onde é possível exibir, com mais facilidade, textos grandes. A sintaxe heredoc inicia com três caracteres “menor que” depois se coloca um identificador que vai delimitar o início e o fim do texto, esse identificador tem praticamente a mesma limitação dos nomes das variáveis das quais vocês já conhecem. Para exemplificar crie abaixo uma string usando essa sintaxe e coloquei como texto uma paragrafo gerado pelo site lorem ipsum

<?php

$string = <<<TEXTAO
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris in malesuada erat. 
Sed a risus pharetra, suscipit nulla non, semper quam. Nulla fringilla posuere turpis
at ultrices. Nunc et purus nec sapien molestie dapibus sit amet sed ligula. 
TEXTAO

?>

Tudo que estiver entre os identificadores TEXTAO será considerado string, essa sintaxe de string é interessante para lidar com textos muito grandes, como o exemplo acima.  Na sintaxe heredoc temos a mesma interpretação do seu conteúdo semelhante aos delimitadores de aspas duplas, ou seja, eu posso colocar dentro desses identificadores variáveis que elas serão interpretadas normalmente. 

O segundo tipo de dado é o número inteiro, aí neste caso os números não precisam de aspas, eles podem ser passados diretamente a uma variável. No exemplo abaixo eu vou criar a variável number que vai receber o número 2 e passao essa variável para a função gettype e dou saída com com o echo.

<?php

$number = 2;
echo gettype($number);
//imprime integer

?>

O gettype retorna como integer que quer dizer inteiro. 

Um outro tipo de número que o php reconhece é o float, também conhecido como double, real number ou número real, mas o php aceita somente os números reais no formato americano, ou seja, se coloca um ponto no lugar da vírgula para separar a parte fracionada, que é aquela parte do número que está entre 0 e 1. Novamente para exemplificar, usando o mesmo código do exemplo anterior basta adicionar na variável number 2.5

<?php

$number = 2.5;
echo gettype($number);
//imprime double

?>

E o retorno como esperado é double.

Mais um tipo de dado reconhecido pelo PHP é o boolean, esse tipo de dado é representado por apenas dois valores true e false que quer dizer verdadeiro ou falso. Normalmente esse tipo de dado é usado em expressões de condição em que uma determina sentença de comparação é verificada, na verdade é o resultado de algumas funções ou de operadores que resultam em boolean, como por exemplo, usando o operador de comparação para verificar se um número é maior ou menor do que outro, o resultado dessa verificação só pode ser true ou false, não existe uma terceira opção. Aí dependendo do resultado algumas instruções podem ser executadas e outras não. 

Em uma declaração if espera que entre os parênteses seja posta um expressão de condição cujo resultado seja true ou false, se o que estiver entre parênteses for verdade o que estiver entre as chaves é executado, caso contrário não. Observe o exemplo:

<?php

if(false){
    echo "O resultado é falso."//nunca será executado
}

?>

Em uma estrutura como essa o echo não não tem saída. é claro que na prática essas expressões possuem verificações mais complexas, aqui só foi para exemplificar. Por último existem mais dois tipos de dados que são os objetos e os arrays, no caso dos objetos ele faz parte do contexto de programação orientação ao objeto que será detalhado somente bem mais à frente, já para os arrays também teremos algumas explicações mais aprofundadas só mais à frente, onde eu vou exemplificar com algumas funções de manipulação. 

As variáveis só conseguem armazenar um único tipo de dado e isso é uma absoluta verdade, porém o array é um tipo de dado que consegue armazenar outros dados que podem ser de tipos diferentes, isso é vantajoso em muitos casos. Existem basicamente duas formas de criar arrays:

<?php

$array = [];

?>

No exemplo acima foi criada uma variável chamada array, que vai receber dois colchetes. Inicialmente o array está vazio, é prerrogativa do programador iniciar um array vazio ou iniciar com algum conteúdo. 

Para iniciar com algum conteúdo, basta colocar os valores separados por virgula dentro dos colchetes, e como eu falei anteriormente os arrays são uma coleção de valores que aceita todos os tipos de dados, inclusive outros arrays.

<?php

$array = [45, 4.5, "oi", false, new stdCLass(), array()];

?>

Então dentro dos colchetes temos um número inteiro, um número fracionado, uma string, um false, um objeto, e mais um array, inclusive, essa é a segunda forma de iniciar um array que é através da sua função. 

Para dar saída completa de um array não é possível usar o echo, se usa o var_dump que possui uma saída somente usada no desenvolvimento. 

<?php

$array = [45, 4.5, "oi", false, new stdCLass(), array()];
var_dump($array);

?>

Resultado em tela:
array (size=6)
  0 => int 45
  1 => float 4.5
  2 => string 'oi' (length=2)
  3 => boolean false
  4 => 
    object(stdClass)[1]
  5 => 
    array (size=0)
      empty

Temos um array cujo índice começa em 0 e vai seguindo em diante, aí temos um inteiro, temos um float, interessante é que anteriormente um número fracionado foi reconhecido como double. Aí temos uma string, um boleano, um objeto e por último mais um array, fazendo com isto torne em um array multidimensional que é um array dentro de outro. 

Adicionar, remover e manipular arrays faremos isso em uma aula separada onde eu vou aprofundar nas funções de manipulação de arrays.

Acesse a vídeo aula: https://www.youtube.com/watch?v=DY4D9qr2iv4



Nenhum comentário:

Postar um comentário