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);
?>
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