|
PHP suporta os seguintes tipos de dados:
Inteiro
Ponto flutuante
String
Array
Lista
Objecto
Booleano
O PHP permite que uma variável contenha
valores de diferentes tipos em diferentes
momentos da leitura de um script. Por este
motivo não é necessário
declarar o tipo da variável para
a utilizar. O interpretador PHP decidirá
qual o tipo daquela variável, verificando
o conteúdo em tempo de execução.
Ainda assim, é permitido converter
os valores de um tipo para outro, utilizando
o typecasting ou a função
settype.
Inteiros (integer
ou long)
Uma variável pode conter um valor
inteiro com atribuições que
sigam as seguintes sintaxes:
| $vivas
= 1234; |
# inteiro positivo na
base decimal |
| $vivas
= -234; |
# inteiro negativo na
base decimal |
| $vivas
= 0234; |
# inteiro na base octal-simbolizado
pelo 0 - equivale a 156 decimal |
| $vivas
= 0x34; |
# inteiro na base hexadecimal(simbolizado
pelo 0x) - equivale a 52 decimal. |
A diferença entre inteiros simples
e long está no número de bytes
utilizados para armazenar a variável.
Como a escolha é feita pelo interpretador
PHP de maneira transparente para o utilizador,
podemos afirmar que os tipos são
iguais.
Ponto Flutuante
(double ou float)
Uma variável pode ter um valor em
ponto flutuante com atribuições
que sigam as seguintes sintaxes:
$vivas = 1.234;
$vivas = 23e4;
# equivale a 230.000
Strings
Strings podem ser atribuídas de
duas maneiras:
a) utilizando pelicas ( ' ) - Desta maneira,
o valor da variável será exatamente
o texto contido entre as aspas (com exceção
de \\ e \' - ver tabela abaixo)
b) utilizando aspas duplas ( " ) -
Desta maneira, qualquer variável
ou caracter de saida será expandido
antes de ser atribuído.
Exemplo:
<?
$teste = "Mauricio";
$vivas = '---$teste--\n';
echo "$vivas";
?>
O output deste script será "---$teste--\n".
<?
$teste = "Mauricio";
$vivas = "---$teste---\n";
echo "$vivas";
?>
A saída desse script será
"---Mauricio--" (com uma quebra
de linha no final).
A tabela a seguir lista os caracteres de
saída:
| Sintaxe |
Significado |
|
\n
|
Nova linha |
|
\r
|
Retorno do cursor (semelhante
a \n) |
|
\t
|
Tabulação
horizontal |
|
\\
|
A própria barra
( \ ) |
|
\$
|
O símbolo $ |
|
\'
|
Aspa simples |
|
\"
|
Aspa dupla |
No apêndice 01 está disponível
uma lista das funções utilizadas
no tratamento de strings.
Arrays
Arrays em PHP podem ser observados como
mapeamentos ou como vetores indexados. Ou
mais precisamente, um valor do tipo array
é um dicionário onde os índices
são as chaves de acesso. Vale realçar
que os índices podem ser valores
de qualquer tipo e não somente inteiros.
Inclusivé, se os índices forem
todos inteiros, estes não precisam
formar um intervalo contínuo
Como a verificação dos tipos
em PHP é dinâmica, valores
de tipos diferentes podem ser usados como
índices de array, assim como os valores
mapeados também podem ser de diversos
tipos.
Exemplo:
<?
$cor[1] = "vermelho";
$cor[2] = "verde";
$cor[3] = "azul";
$cor["teste"] = 1;
?>
É equivalente escrever:
<?
$cor = array(1 => "vermelho",
2 => "verde", 3 => "azul",
"teste => 1);
?>
Listas
As listas são utilizadas em PHP
para realizar atribuições
múltiplas. Através de listas
é possível atribuir valores
que estão num array para variáveis.
Vejamos o exemplo:
Exemplo:
list($a, $b, $c)
= array("a", "b", "c");
O comando acima atribui valores às
três variáveis simultaneamente.
É bom notar que só são
atribuídos às variáveis
da lista os elementos do array que possuem
índices inteiros e não negativos.
No exemplo acima as três atribuições
foram bem sucedidas porque ao inicializar
um array sem especificar os índices
eles passam a ser inteiros, a partir do
zero. Um facto importante é que cada
variável da lista possui um índice
inteiro e ordenado, iniciado com zero, que
serve para determinar qual valor será
atribuído. No exemplo anterior temos
$a com índice 0, $b com índice
1 e $c com índice 2. Vejamos um outro
exemplo:
$arr = array(1=>"um",3=>"tres","a"=>"letraA",2=>"dois);
list($a,$b,$c,$d) = $arr;
Após a execução do
código acima temos os seguintes valores:
$a == null
$b == "um"
$c == "dois"
$d == "tres"
Devemos observar que à variável
$a não foi atribuído valor,
pois no array não existe elemento
com índice 0 (zero). Outro detalhe
importante é que o valor "tres"
foi atribuído à variável
$d, e não a $b, pois seu índice
é 3, o mesmo que $d na lista. Por
fim, vemos que o valor "letraA"
não foi atribuído a elemento
algum da lista pois seu índice não
é inteiro.
Os índices da lista servem apenas
como referência ao interpretador PHP
para realizar as atribuições,
não podendo ser acedidos de nenhuma
maneira pelo programador. De modo diferente
do array, uma lista não pode ser
atribuída a uma variável,
servindo apenas para fazer múltiplas
atribuições através
de um array.
No apêndice 02 está disponível
uma lista das funções mais
comuns para o tratamento de arrays.
Objecto
Um objecto pode ser inicializado utilizando
o comando new para instanciar uma classe
para uma variável.
Exemplo:
class teste {
function nada() {
echo "nada";
}
}
$vivas = new teste;
$vivas -> nada();
A utilização de objectos
será tratada com detalhe mais para
a frente.
Booleano
PHP não possui um tipo booleano,
mas é capaz de avaliar expressões
e retornar true ou false, através
do tipo integer: é usado o valor
0 (zero) para representar o estado false,
e qualquer valor diferente de zero (geralmente
1) para representar o estado true.
|