As variáveis podem armazenar dados de diferentes tipos, e diferentes tipos de dados podem fazer coisas diferentes.
O PHP suporta os seguintes tipos de dados:
Uma string é uma sequência de caracteres, como "Hello world!".
Uma string pode ser qualquer texto entre aspas. Você pode usar aspas simples ou duplas:
<?php
$x = "Hello world!";
$y = 'Hello world!';
echo $x;
echo "<br>";
echo $y;
?>
Um tipo de dados inteiro é um número não decimal entre -2.147.483.648 e 2.147.483.647.
Regras para números inteiros:
No exemplo a seguir, $x é um número inteiro. A função PHP var_dump() retorna o tipo de dados e o valor:
<?php
$x = 5985;
var_dump($x);
?>
Um float (número de ponto flutuante) é um número com um ponto decimal ou um número na forma exponencial.
No exemplo a seguir $x é um float. A função PHP var_dump() retorna o tipo de dados e o valor:
<?php
$x = 10.365;
var_dump($x);
?>
Um booleano representa dois estados possíveis: TRUE ou FALSE.
Booleanos são frequentemente usados em testes condicionais. Você aprenderá mais sobre testes condicionais em um capítulo posterior deste tutorial.
Uma matriz armazena vários valores em uma única variável.
No exemplo a seguir $cars é um array. A função PHP var_dump() retorna o tipo de dados e o valor:
<?php
$cars = array("Volvo","BMW","Toyota");
var_dump($cars);
?>
array(3) {
[0]=>
string(5) "Volvo"
[1]=>
string(3) "BMW"
[2]=>
string(6) "Toyota"
}
Você aprenderá muito mais sobre arrays em capítulos posteriores deste tutorial.
Classes e objetos são os dois principais aspectos da programação orientada a objetos.
Uma classe é um modelo para objetos e um objeto é uma instância de uma classe.
Quando os objetos individuais são criados, eles herdam todas as propriedades e comportamentos da classe, mas cada objeto terá valores diferentes para as propriedades.
Vamos supor que temos uma classe chamada Car. Um carro pode ter propriedades como model, color, etc. Podemos definir variáveis como $model, $color, e assim por diante, para manter os valores dessas propriedades.
Quando os objetos individuais (Volvo, BMW, Toyota, etc.) são criados, eles herdam todas as propriedades e comportamentos da classe, mas cada objeto terá valores diferentes para as propriedades.
Se você criar uma função __construct(), o PHP chamará automaticamente esta função quando você criar um objeto de uma classe.
<?php
class Car {
public $color;
public $model;
public function __construct($color, $model) {
$this->color = $color;
$this->model = $model;
}
public function message() {
return "My car is a " . $this->color . " " . $this->model . "!"; }
}
$myCar = new Car("black", "Volvo");
echo $myCar -> message();
echo "<br>";
$myCar = new Car("red", "Toyota");
echo $myCar -> message();
?>
Null é um tipo de dado especial que pode ter apenas um valor: NULL.
Uma variável do tipo de dados NULL é uma variável que não tem valor atribuído a ela.
Dica: Se uma variável for criada sem um valor, ela receberá automaticamente um valor NULL.
As variáveis também podem ser esvaziadas definindo o valor como NULL:
<?php
$x = "Hello world!";
$x = null;
var_dump($x);
?>
O tipo de recurso especial não é um tipo de dados real. É o armazenamento de uma referência a funções e recursos externos ao PHP.
Um exemplo comum de uso do tipo de dados de recurso é uma chamada de banco de dados.
Não falaremos sobre o tipo de recurso aqui, pois é um tópico avançado.